Python爬蟲必備技巧詳細總結(jié)
自定義函數(shù)
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)
# 批量調(diào)用函數(shù)
companies = ['騰訊', '阿里巴巴', '百度集團']
for i in companies:
baidu(i)
批量輸出多個搜索結(jié)果的標題

結(jié)果保存為文本文件
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')
# 批量調(diào)用函數(shù)
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('運行失敗')
寫在循環(huán)中 不會讓程序停止運行 而會輸出運行失敗
休眠時間
import time
for i in companies:
try:
baidu(i)
print('運行成功')
except:
print('運行失敗')
time.sleep(5)
time.sleep(5)
括號里的單位是秒
放在什么位置 則在什么位置休眠(暫停)
爬取多頁內(nèi)容
百度搜索騰訊

切換到第二頁

去掉多多余的
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)

到此這篇關(guān)于Python爬蟲必備技巧詳細總結(jié)的文章就介紹到這了,更多相關(guān)Python 爬蟲技巧內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python測試WebService接口的實現(xiàn)示例
webService接口是走soap協(xié)議通過http傳輸,請求報文和返回報文都是xml格式的,本文主要介紹了Python測試WebService接口,具有一定的參考價值,感興趣的可以了解一下2024-03-03
Pytorch中torch.argmax()函數(shù)使用及說明
這篇文章主要介紹了Pytorch中torch.argmax()函數(shù)使用及說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-01-01
Python使用combinations實現(xiàn)排列組合的方法
今天小編就為大家分享一篇Python使用combinations實現(xiàn)排列組合的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-11-11

