今天就跟大家聊聊有關(guān)如何用BeautifulSoup4爬取小說資源,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。
創(chuàng)新互聯(lián)公司是一家集網(wǎng)站建設(shè),老河口企業(yè)網(wǎng)站建設(shè),老河口品牌網(wǎng)站建設(shè),網(wǎng)站定制,老河口網(wǎng)站建設(shè)報價,網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,老河口網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強企業(yè)競爭力??沙浞譂M足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時我們時刻保持專業(yè)、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實用型網(wǎng)站。
{'玄幻':[['書名1','作者1','書鏈接1'], ['書名2','作者2','書鏈接2'] ], '恐怖':[['書名1','作者1','書鏈接1'], ['書名2','作者2','書鏈接2'] ] }
請安裝requests和bs4(BeautifulSoup)
from bs4 import BeautifulSoup import requests,sys sys.setrecursionlimit(10000) # 防止超出遞歸深度報錯 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') # 只獲取第一個包含class='nav'屬性的div標(biāo)簽 tar = target.find_all('a') # 過濾出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屬性 # 生成各個分類的Url Category_Url = Url_Index + HREF Menu[TEXT] = Category_Url # 獲取每種分類的書信息 for ClassName in Menu: Book_List = [] def make(url): '''獲取所有的書信息,并且交給函數(shù)IF判斷是否還有下一頁,如果有則繼續(xù)獲取書的信息''' 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() # 書名 IMHOW_NAME = so.next_sibling.split('/')[1] # 作者名 HREF = Url_Index + so['href'] # 書的鏈接 Book_List.append([BookName,IMHOW_NAME,HREF]) Next_Page = soup.find('div', class_='page') IF(NextPage=Next_Page) def IF(NextPage): '''判斷是否還有下一頁,如果有則繼續(xù)循環(huán)''' for Page in NextPage.find_all('a'): if Page.get_text() == '下頁': '''判斷如果還有下頁,則繼續(xù)獲取書的信息''' Url = Url_Index + Page['href'] make(url=Url) url=Menu[ClassName] # 獲取當(dāng)前分類的URL make(url) # 獲取當(dāng)前分類的所有書信息 Menu[ClassName] = Book_List # 最后生成的信息都在這個字典里面;格式{'玄幻':[['書名1','作者1','書鏈接1'],['書名2','作者2','書鏈接2']]}
看完上述內(nèi)容,你們對如何用BeautifulSoup4爬取小說資源有進一步的了解嗎?如果還想了解更多知識或者相關(guān)內(nèi)容,請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝大家的支持。