您好,登錄后才能下訂單哦!
利用Python爬蟲怎么對列表的內容進行爬取?針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。
import requests from bs4 import BeautifulSoup
由于很多網站定義了反爬策略,所以進行偽裝一下
headers = { 'User-Agent': 'Mozilla / 5.0(WindowsNT10.0;Win64;x64) AppleWebKit / 537.36(KHTML, likeGecko) Chrome / 87.0.4280.141Safari / 537.36' }
在這里User-Agent只是其中的一種方式,而且大家的User-Agent可能不同。
爬取數據main代碼
url = 'https://q.cnblogs.com/list/unsolved?' fp = open('blog', 'w', encoding='utf-8') for page in range(1,26): page = str(page) param = { 'page':page } page_text = requests.get(url=url,params=param,headers=headers).text page_soup = BeautifulSoup(page_text,'lxml') text_list = page_soup.select('.one_entity > .news_item > h3') for h3 in text_list: text = h3.a.string fp.write(text+'\n') print('第'+page+'頁爬取成功!')
注意一下這里,由于我們需要的是多張頁面的數據,所以在發送請求的url中我們就要針對不同的頁面發送請求,https://q.cnblogs.com/list/unsolved?page=
我們要做的是在發送請求的url時候,根據參數來填充頁數page,
代碼實現:
url = 'https://q.cnblogs.com/list/unsolved?' for page in range(1,26): page = str(page) param = { 'page':page } page_text = requests.get(url=url,params=param,headers=headers).text
將所有的h3數組拿到,進行遍歷,通過取出h3中a標簽中的文本,并將每取出來的文本寫入到文件中,由于要遍歷多次,所以保存文件在上面的代碼中。
text_list = page_soup.select('.one_entity > .news_item > h3') for h3 in text_list: text = h3.a.string fp.write(text+'\n')
完整代碼如下:
import requests from bs4 import BeautifulSoup if __name__ == '__main__': headers = { 'User-Agent': 'Mozilla / 5.0(WindowsNT10.0;Win64;x64) AppleWebKit / 537.36(KHTML, likeGecko) Chrome / 87.0.4280.141Safari / 537.36' } url = 'https://q.cnblogs.com/list/unsolved?' fp = open('blog', 'w', encoding='utf-8') for page in range(1,26): page = str(page) param = { 'page':page } page_text = requests.get(url=url,params=param,headers=headers).text page_soup = BeautifulSoup(page_text,'lxml') text_list = page_soup.select('.one_entity > .news_item > h3') for h3 in text_list: text = h3.a.string fp.write(text+'\n') print('第'+page+'頁爬取成功!')
關于利用Python爬蟲怎么對列表的內容進行爬取問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。