您好,登錄后才能下訂單哦!
今天就跟大家聊聊有關(guān)如何用BeautifulSoup4爬取小說(shuō)資源,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。
{'玄幻':[['書(shū)名1','作者1','書(shū)鏈接1'], ['書(shū)名2','作者2','書(shū)鏈接2'] ], '恐怖':[['書(shū)名1','作者1','書(shū)鏈接1'], ['書(shū)名2','作者2','書(shū)鏈接2'] ] }
請(qǐng)安裝requests和bs4(BeautifulSoup)
from bs4 import BeautifulSoup import requests,sys sys.setrecursionlimit(10000) # 防止超出遞歸深度報(bào)錯(cuò) Url_Index = 'http://m.pfwx.com' r = requests.get(Url_Index) r.encoding = 'utf-8' content = r.text soup = BeautifulSoup(content,features='html.parser') target = soup.find('div',class_='nav') # 只獲取第一個(gè)包含class='nav'屬性的div標(biāo)簽 tar = target.find_all('a') # 過(guò)濾出a標(biāo)簽 # 獲取index的欄目 Index_Menu = {} for so in tar: TEXT = so.get_text() HREF = Url_Index + so['href'] # 獲取href屬性的值 Index_Menu[TEXT] = HREF # 獲取分類 Class_Page = Index_Menu['分類'] r = requests.get(url=Class_Page) r.encoding = 'utf-8' content = r.text soup = BeautifulSoup(content,features='html.parser') tag = soup.body.find_all('li',class_='prev') Menu = {} for so in tag: TEXT = so.get_text() # 獲取文本 HREF = so.a.attrs['href'] # 獲取a標(biāo)簽中的href屬性 # 生成各個(gè)分類的Url Category_Url = Url_Index + HREF Menu[TEXT] = Category_Url # 獲取每種分類的書(shū)信息 for ClassName in Menu: Book_List = [] def make(url): '''獲取所有的書(shū)信息,并且交給函數(shù)IF判斷是否還有下一頁(yè),如果有則繼續(xù)獲取書(shū)的信息''' r = requests.get(url=url) content = r.text soup = BeautifulSoup(content, features='html.parser') target = soup.find_all('a', class_='blue') for so in target: BookName = so.get_text() # 書(shū)名 IMHOW_NAME = so.next_sibling.split('/')[1] # 作者名 HREF = Url_Index + so['href'] # 書(shū)的鏈接 Book_List.append([BookName,IMHOW_NAME,HREF]) Next_Page = soup.find('div', class_='page') IF(NextPage=Next_Page) def IF(NextPage): '''判斷是否還有下一頁(yè),如果有則繼續(xù)循環(huán)''' for Page in NextPage.find_all('a'): if Page.get_text() == '下頁(yè)': '''判斷如果還有下頁(yè),則繼續(xù)獲取書(shū)的信息''' Url = Url_Index + Page['href'] make(url=Url) url=Menu[ClassName] # 獲取當(dāng)前分類的URL make(url) # 獲取當(dāng)前分類的所有書(shū)信息 Menu[ClassName] = Book_List # 最后生成的信息都在這個(gè)字典里面;格式{'玄幻':[['書(shū)名1','作者1','書(shū)鏈接1'],['書(shū)名2','作者2','書(shū)鏈接2']]}
看完上述內(nèi)容,你們對(duì)如何用BeautifulSoup4爬取小說(shuō)資源有進(jìn)一步的了解嗎?如果還想了解更多知識(shí)或者相關(guān)內(nèi)容,請(qǐng)關(guān)注億速云行業(yè)資訊頻道,感謝大家的支持。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。