2018-12-06

#第一次實(shí)現(xiàn)簡單爬蟲,記錄一下爬取全書網(wǎng)中《盜墓筆記》的部分章節(jié)

代碼還有待完善,重復(fù)追加內(nèi)容寫入會遇到txt文本大小限制引起代碼終結(jié)。

很多不必要的代碼可以刪除的,靜態(tài)網(wǎng)頁還是比較好爬的,加油!

下回爬一下動態(tài)網(wǎng)站!

繼續(xù)學(xué)習(xí)??!


以下代碼:


import requests

from bs4 import BeautifulSoup

class Download(object):

? ? def __init__(self):

? ? ? ? self.target='http://www.quanshuwang.com/book/9/9055'

? ? ? ? self.href_list = []

? ? ? ? self.chapter_name=[]

? ? ? ? self.num =0

? ? ? ? self.head = {

? ? ? ? ? ? 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.110 Safari/537.36',

? ? ? ? ? ? 'Accept': 'text/html,application/xhtml',

? ? ? ? ? ? 'connection': 'keep-alive',

? ? ? ? ? ? 'Accept - Encoding':'gzip, deflate'

? ? ? ? }

? ? #用于獲取小說目錄的url

? ? def get_url(self):

? ? ? ? self.req = requests.get(url=self.target,params='html',headers=self.head)

? ? ? ? self.req.encoding = 'gbk'

? ? ? ? self.html =self.req.text

? ? ? ? self.bf_url=BeautifulSoup(self.html)

? ? ? ? self.div=self.bf_url.find_all('div',class_='clearfix')

? ? ? ? self.div_a =BeautifulSoup(str(self.div[1]))

? ? ? ? self.a =self.div_a.find_all('a')

? ? ? ? #刪除不要的章節(jié)!

? ? ? ? self.num = len(self.a[:5])

? ? ? ? for each in self.a[:5]:

? ? ? ? ? ? self.chapter_name.append(each.string)

? ? ? ? ? ? self.href_list.append(each.get('href'))

? ? ? ? #URL獲取好列表了,該模塊進(jìn)行下載儲存

? ? def down_novel(self,herf):

? ? ? ? self.url = requests.get(url=herf)

? ? ? ? self.url.encoding='gbk'

? ? ? ? self.url_text = self.url.text

? ? ? ? self.url_bf =BeautifulSoup(self.url_text)

? ? ? ? self.url_bf_div =self.url_bf.find_all('div',class_='mainContenr')

? ? ? ? self.url_bf_div_text= self.url_bf_div[0].text.replace('\xa0'*8,'\n\n')

? ? def write(self):

? ? ? ? with open('novel.txt', 'a', encoding='utf-8') as f:

? ? ? ? ? ? f.write('\n')

? ? ? ? ? ? f.writelines(self.url_bf_div_text)

? ? ? ? ? ? f.write('\n\n')

if __name__ == '__main__':

? ? dl = Download()

? ? dl.get_url()

? ? for i in dl.href_list:

? ? ? ? dl.down_novel(i)

? ? ? ? dl.write()



?作者:Kang

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 聲明:本文講解的實(shí)戰(zhàn)內(nèi)容,均僅用于學(xué)習(xí)交流,請勿用于任何商業(yè)用途! 一、前言 強(qiáng)烈建議:請在電腦的陪同下,閱讀本文...
    Bruce_Szh閱讀 13,009評論 6 28
  • 1.查詢請求GET 請求類型method為get,請求的url,請求頭headers,傳參params字典型;可以...
    大樹_20e9閱讀 202評論 0 0
  • If you pay peanuts, you get monkey. Computation on HMM Vi...
    Sorcerer_7104閱讀 316評論 0 1
  • 數(shù)組(二) 一、 數(shù)組的應(yīng)用 (一) 冒泡排序 冒泡排序是一種簡單的排序算法。它重復(fù)地走訪過要排序的數(shù)列,一次比較...
    拾起_518閱讀 245評論 0 0
  • 最近,畫畫比較少。晚上,都畫的簡單有趣搞笑的。放松心情。
    貓戀一夏閱讀 234評論 2 5

友情鏈接更多精彩內(nèi)容