您好,登錄后才能下訂單哦!
這篇文章主要介紹“Python爬蟲的必備技巧有哪些”,在日常操作中,相信很多人在Python爬蟲的必備技巧有哪些問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Python爬蟲的必備技巧有哪些”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
import requests from bs4 import BeautifulSoup headers={'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:93.0) Gecko/20100101 Firefox/93.0'} def baidu(company): url = 'https://www.baidu.com/s?rtt=4&tn=news&word=' + company print(url) html = requests.get(url, headers=headers).text s = BeautifulSoup(html, 'html.parser') title=s.select('.news-title_1YtI1 a') for i in title: print(i.text) # 批量調用函數 companies = ['騰訊', '阿里巴巴', '百度集團'] for i in companies: baidu(i)
批量輸出多個搜索結果的標題
import requests from bs4 import BeautifulSoup headers={'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:93.0) Gecko/20100101 Firefox/93.0'} def baidu(company): url = 'https://www.baidu.com/s?rtt=4&tn=news&word=' + company print(url) html = requests.get(url, headers=headers).text s = BeautifulSoup(html, 'html.parser') title=s.select('.news-title_1YtI1 a') fl=open('test.text','a', encoding='utf-8') for i in title: fl.write(i.text + '\n') # 批量調用函數 companies = ['騰訊', '阿里巴巴', '百度集團'] for i in companies: baidu(i)
寫入代碼
fl=open('test.text','a', encoding='utf-8') for i in title: fl.write(i.text + '\n')
for i in companies: try: baidu(i) print('運行成功') except: print('運行失敗')
寫在循環中 不會讓程序停止運行 而會輸出運行失敗
import time for i in companies: try: baidu(i) print('運行成功') except: print('運行失敗') time.sleep(5)
time.sleep(5)
括號里的單位是秒
放在什么位置 則在什么位置休眠(暫停)
百度搜索騰訊
切換到第二頁
去掉多多余的
https://www.baidu.com/s?wd=騰訊&pn=10
分析出
https://www.baidu.com/s?wd=騰訊&pn=0 為第一頁
https://www.baidu.com/s?wd=騰訊&pn=10 為第二頁
https://www.baidu.com/s?wd=騰訊&pn=20 為第三頁
https://www.baidu.com/s?wd=騰訊&pn=30 為第四頁
..........
from bs4 import BeautifulSoup import time headers={'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:93.0) Gecko/20100101 Firefox/93.0'} def baidu(c): url = 'https://www.baidu.com/s?wd=騰訊&pn=' + str(c)+'0' print(url) html = requests.get(url, headers=headers).text s = BeautifulSoup(html, 'html.parser') title=s.select('.t a') for i in title: print(i.text) for i in range(10): baidu(i) time.sleep(2)
到此,關于“Python爬蟲的必備技巧有哪些”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。