閑來無事,用Python隨便寫了三十行代碼來爬兩本小說看看

來源:互聯網
上載者:User

標籤:close   amp   lis   color   bs4   image   content   select   .text   

今天同事問我有沒有網站可以下載小說,我說沒有啊 你要找哪個小說(心裡有點鄙視他 ,心想現在什麼小說在網上不是都能找到嗎,自信搜尋能力的我準備幫人幫到底)他說,《醫聖之最強狂兵》,我當然沒看過了,搜尋了半天只找到了一些人分享的網盤地址,點進去發現裡面只有前幾章的txt,——預知後事如何請加下面VX….$%#^%&^&&a

我一臉天真的加了一下,還以為是只想湊點擊率和關注量的分享小說的公眾號,結果是個人帳號,=。=,對,就如你所想,六塊錢紅包她就會發給我小說。

算了吧,有那錢幹點啥不好,自己又不是不會爬蟲。

於是隨手寫了下面的程式。

# -*- coding: utf-8 -*-from bs4 import BeautifulSoupimport requestsimport codecsdef get_url_list(url):    html = requests.get(url)    soup = BeautifulSoup(html.content, ‘lxml‘)#content如果換成text會有亂碼    url_list = []    list = soup.select("#list > dl > dd > a")    for i in list:        i = i.get("href")        i = ‘http://www.biqugecom.com‘ + i        url_list.append(i)    url_list = url_list[9:-1]    print url_list    return url_listdef get_data(url):    html = requests.get(url)    soup = BeautifulSoup(html.content, ‘lxml‘)    fo = codecs.open(‘output.txt‘, ‘a+‘, ‘utf-8‘);    # 以二進位寫入章節題目 需要轉換為utf-8編碼,否則會出現亂碼    #Python學習群125240963    section_name = soup.select("#wrapper > div.content_read > div > div.bookname > h1")[0].text    print section_name    fo.write((‘\r\n‘ + section_name + ‘\r\n‘))    section_text = soup.select("#content")    for x in section_text:        a = x.text.replace(‘readx();‘, ‘‘).replace(‘www.biqugecom.com/20/20341/‘, ‘‘)        fo.write((a)+ ‘\r\n‘)    # 以二進位寫入章節內容    fo.close()  # 關閉小說檔案if ‘__main__‘ == __name__:    url = ‘http://www.biqugecom.com/34/34055/‘    url_list = get_url_list(url)    for n in url_list:        get_data (n)

最後將3.24MB的txt檔案交給他的時候,他是內牛滿面的=。=

因為程式太簡單了,所以就不做詳細的說明了。

如果有任何問題可以在下方留言交流或者自行Google

閑來無事,用Python隨便寫了三十行代碼來爬兩本小說看看

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.