資訊內(nèi)容
介紹python60行代碼寫一個簡單的筆趣閣爬蟲

推薦(免費):python視頻教程j27少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學習平臺
文章目錄j27少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學習平臺
系列文章目錄前言一、網(wǎng)頁解析二、代碼填寫1.獲取Html及寫入方法2.其余代碼總結(jié)前言j27少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學習平臺
j27少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學習平臺
利用python寫一個簡單的筆趣閣爬蟲,根據(jù)輸入的小說網(wǎng)址爬取整個小說并保存到txt文件。爬蟲用到了BeautifulSoup庫的select方法
結(jié)果如圖所示:
本文只用于學習爬蟲j27少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學習平臺
j27少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學習平臺
一、網(wǎng)頁解析j27少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學習平臺
這里以斗羅大陸小說為例 網(wǎng)址:
http://www.biquge001.com/Book/2/2486/
可以發(fā)現(xiàn)每章的網(wǎng)頁地址和章節(jié)名都放在了 <"p id=list dl dd a>中的a標簽中,所以利用BeautfulSoup中的select方法可以得到網(wǎng)址和章節(jié)名j27少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學習平臺
然后遍歷列表j27少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學習平臺
for url in urls: href = "http://www.biquge001.com/" + url['href'] # 字符串的拼接 拼接成正確的網(wǎng)址 pageName = url.text # 每章的章名然后每章小說的內(nèi)容都存放在<p id=“content” 里 同理得j27少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學習平臺
**后同理在首頁獲取小說的名稱
<"p id = info h1>j27少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學習平臺
j27少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學習平臺
j27少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學習平臺
二、代碼填寫j27少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學習平臺
1.獲取Html及寫入方法j27少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學習平臺
def getHtmlText(url): r = requests.get(url, headers=headers) r.encoding = r.apparent_encoding # 編碼轉(zhuǎn)換 r.raise_for_status() return r.textdef writeIntoTxt(filename, content): with open(filename, "w", encoding="utf-8") as f: f.write(content) f.close() print(filename + "已完成")2.其余代碼j27少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學習平臺
代碼如下(示例):j27少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學習平臺
url = "http://www.biquge001.com/Book/2/2486/"substanceStr = ""bookName1 = ""html = getHtmlText(url)# 判斷是否存在這個文件Tag = BeautifulSoup(getHtmlText(url), "html.parser")urls = Tag.select("p #list dl dd a")bookName = Tag.select("p #info h1")for i in bookName: bookName1 = i.textif not os.path.exists(bookName1): os.mkdir(bookName1) print(bookName1 + "創(chuàng)建完成")else: print("文件已創(chuàng)建")for url in urls: href = "http://www.biquge001.com/" + url['href'] # 字符串的拼接 拼接成正確的網(wǎng)址 pageName = url.text # 每章的章名 path = bookName1 + "\" # 路徑 fileName = path + url.text + ".txt" # 文件名 = 路徑 + 章節(jié)名 + ".txt" Tag = BeautifulSoup(getHtmlText(href), "html.parser") # 解析每張的網(wǎng)頁 substance = Tag.select("p #content") # 文章的內(nèi)容 for i in substance: substanceStr = i.text writeIntoTxt(fileName, substanceStr) time.sleep(1)j27少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學習平臺
總結(jié)j27少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學習平臺
簡單利用了BeautfulSoup的select方法對筆趣閣的網(wǎng)頁進行了爬取 j27少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學習平臺
更多相關(guān)學習敬請關(guān)注python教程欄目!
以上就是介紹python60行代碼寫一個簡單的筆趣閣爬蟲的詳細內(nèi)容,更多請關(guān)注少兒編程網(wǎng)其它相關(guān)文章!j27少兒編程網(wǎng)-Scratch_Python_教程_免費兒童編程學習平臺

- 上一篇
Python數(shù)據(jù)分析實戰(zhàn)之 概述數(shù)據(jù)分析
簡介Python教程欄目介紹概述數(shù)據(jù)。推薦(免費):Python教程文章目錄一、入門數(shù)據(jù)分析1.大數(shù)據(jù)時代的基本面2.數(shù)據(jù)分析師職業(yè)前景3.成為數(shù)據(jù)分析師之路二、Python的安裝與環(huán)境配置1.Python版本2.不同系統(tǒng)安裝Python3.環(huán)境變量配置4.安裝pip5.集成開發(fā)環(huán)境選擇三、Anacon
- 下一篇
Python培訓機構(gòu)靠譜嗎?Python培訓機構(gòu)怎么選?
簡介近幾年,網(wǎng)絡(luò)浪潮涌起,而Python市場一直是人才稀缺。Python語言簡單易學,就業(yè)前景廣自然也獲得了年輕人的青睞。Python培訓機構(gòu)靠譜嗎?Python培訓機構(gòu)怎么選?是每位學習者的糾結(jié)點,那么一個合格的Python培訓機構(gòu)是什么樣子的呢?跟隨小編篩一篩。一、培訓機構(gòu)地理位置就拿北京來說,哪個