利用Python爬取妙筆閣小說網的《我是至尊》小說

2021-08-11 14:01:35 字數 2806 閱讀 2122

由於妙筆閣**網中大多數**章節數過大,基本上為幾千章。所以挑選後選取了章節數為100多章的**《我是至尊》。

下面詳細描述爬取過程:

1.構建請求頭:

self.headers =

2.利用request請求url,並將相應內容轉換為html:

response = requests.get("")

html = lxml.html

.fromstring(response.text)

3.目前已經得到了**章節列表頁面的html

對章節進行檢查,找到html中每章節的url

利用xpath解析html,得到所有章節的url列表:

urllst = html.xpath('//ul//li/a/@href')
4.訪問每乙個章節的url,利用xpath解析其html,得到每章節的內容:

5.完整**:

import requests

import lxml.html

class

myspider

():def

__init__

(self):

#構建請求頭

self.headers =

defgethtml

(self,url):

#利用request請求url,並將相應內容轉換為html

try:

response = requests.get(url)

except:

response = none

pass

else:

response.encoding = 'gb18030'

finally:

html = lxml.html.fromstring(response.text)

return html

defgetpage

(self,url):

#利用xpath解析html,得到所有章節的url列表

htmlpage = self.gethtml(url);

print(htmlpage)

urllst = htmlpage.xpath('//ul//li/a/@href')

return urllst

defgetcontext

(self,url):

contextlst = self.getpage(url) #獲取所有章節的url列表

num = 0

with open('e:/我是至尊.txt', 'a+' ,encoding = 'utf8') as f :

#爬取的每章節內容寫入到e盤我是至尊.txt

for i in contextlst[14:]:

i= '' + i #由於獲取到的章節url不完整,進行補全

html = self.gethtml(i)

title = ''.join(html.xpath('//td[@valign = "top"]/div[@align="center"]/h1/text()'))

part = ''.join(html.xpath('//div[@align="center"]/h2/text()'))

infro = ''.join(html.xpath('//div[@class="border_b"]/text()'))

context = '\n'.join([x.strip() for x in html.xpath('//div[@id="content"]/p/text()') if x])

f.write(str(title)+'\n'+str(part)+'\n'+str(infro)+'\n'+str(context)+'\n'+'\n')

num+=1

print("寫入完成"+"第"+str(num)+"頁")

if __name__ == '__main__':

sp=myspider()

url1=''

sp.getcontext(url1)

6.爬取完成後得到的我是至尊.txt部分內容如下:

Python爬取新筆趣閣小說

1 首先就是先安裝第三方庫requests,這個庫,開啟cmd,輸入pip install requests回車就可以了,等待安裝。然後測試 import resquests2 然後就可以編寫程式了,首先獲取網頁源 也可以在瀏覽器檢視和這個進行對比。s requests.session url ht...

04筆趣閣小說爬取 爬取整部小說

考慮到爬取時間有點長,再加上一行資訊充當進度條。完整 如下 import requests from bs4 import beautifulsoup 獲取章節名稱和鏈結 target 目錄頁位址 req requests.get url target 使用beautifulsoup 篩選出id l...

Python爬蟲 筆趣閣小說爬取

import requests from lxml import etree以 我有百萬技能點 為例,在筆趣閣搜尋進入目錄頁,複製目錄頁url 對目錄頁的每個章節的url進行爬取,分析網頁利用xpath定位每個章節的url然後進行爬取,然後重新構造url。目錄每一章節的url href html e...