python爬蟲(chóng)之bs4數(shù)據(jù)解析
因?yàn)檎齽t表達(dá)式本身有難度,所以在這里為大家介紹一下 bs4 實(shí)現(xiàn)數(shù)據(jù)解析。除此之外還有 xpath 解析。因?yàn)?xpath 不僅可以在 python 中使用,所以 bs4 和 正則解析一樣,僅僅是簡(jiǎn)單地寫(xiě)兩個(gè)案例(爬取可翻頁(yè)的圖片,以及爬取三國(guó)演義)。以后的重點(diǎn)會(huì)在 xpath 上。
二、安裝庫(kù)閑話少說(shuō),我們先來(lái)安裝 bs4 相關(guān)的外來(lái)庫(kù)。比較簡(jiǎn)單。
1.首先打開(kāi) cmd 命令面板,依次安裝bs4 和 lxml。
2. 命令分別是 pip install bs4 和 pip install lxml 。
3. 安裝完成后我們可以試著調(diào)用他們,看看會(huì)不會(huì)報(bào)錯(cuò)。
因?yàn)楸救怂接邢蓿匀绻霈F(xiàn)報(bào)錯(cuò),兄弟們還是百度一下好啦。(總不至于 cmd 命令打錯(cuò)了吧 ~~)
三、bs4 的用法閑話少說(shuō),先簡(jiǎn)單介紹一下 bs4 的用法。


import requestsfrom bs4 import BeautifulSoupimport osif __name__ == '__main__': # 創(chuàng)建文件夾 if not os.path.exists('./糗圖(bs4)'):os.mkdir('./糗圖(bs4)') # UA偽裝 header = {'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.72 Safari/537.36'} # 指定 url for i in range(1, 3): # 翻兩頁(yè)url = 'https://www.qiushibaike.com/imgrank/page/%s/' % str(i)# 獲取源碼數(shù)據(jù)page = requests.get(url = url, headers = header).text# 數(shù)據(jù)解析soup = BeautifulSoup(page, 'lxml')data_list = soup.select('.thumb > a')for data in data_list: url = data.img['src'] title = url.split('/')[-1] new_url = 'https:' + url photo = requests.get(url = new_url, headers = header).content # 存儲(chǔ) with open('./糗圖(bs4)/' + title, 'wb') as fp:fp.write(photo) print(title, '下載完成!!!') print('over!!!')五、爬取三國(guó)演義
import requestsfrom bs4 import BeautifulSoupif __name__ == '__main__': # UA 偽裝 header = {'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36'} # URL url = 'http://sanguo.5000yan.com/' # 請(qǐng)求命令 page_text = requests.get(url = url, headers = header) page_text.encoding = 'utf-8' page_text = page_text.text soup = BeautifulSoup(page_text, 'lxml')# bs4 解析 li_list = soup.select('.sidamingzhu-list-mulu > ul > li')for li in li_list:print(li)new_url = li.a['href']title = li.a.text# 新的請(qǐng)求命令response = requests.get(url = new_url, headers = header)response.encoding = 'utf-8'new_page_text = response.textnew_soup = BeautifulSoup(new_page_text, 'lxml')page = new_soup.find('div', class_ = 'grap').textwith open('./三國(guó)演義.txt', 'a', encoding = 'utf-8') as fp: fp.write('n' + title + ':' + 'n' + 'n' + page)print(title + '下載完成!!!')
到此這篇關(guān)于python爬蟲(chóng)之bs4數(shù)據(jù)解析的文章就介紹到這了,更多相關(guān)python bs4數(shù)據(jù)解析內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. idea重置默認(rèn)配置的方法步驟2. idea給項(xiàng)目打war包的方法步驟3. IntelliJ IDEA設(shè)置自動(dòng)提示功能快捷鍵的方法4. IntelliJ IDEA安裝插件的方法步驟5. IntelliJ IDEA設(shè)置背景圖片的方法步驟6. idea 打包的jar運(yùn)行報(bào) "XXX中沒(méi)有主清單屬性"7. Docker 部署 Prometheus的安裝詳細(xì)教程8. idea打開(kāi)多個(gè)窗口的操作方法9. IntelliJ IDEA調(diào)整字體大小的方法10. IntelliJ IDEA刪除類的方法步驟

網(wǎng)公網(wǎng)安備