簡(jiǎn)單的爬蟲代碼實(shí)例。
需要用到requests模塊籽前,它是python基于網(wǎng)絡(luò)請(qǐng)求模塊敷钾,用來模擬瀏覽器發(fā)請(qǐng)求阻荒。
安裝:pip install requests
一個(gè)簡(jiǎn)單代碼,獲取網(wǎng)頁首頁數(shù)據(jù).
import requests
if __name__=="__main__":
url="https://www.so.com/" #指定url
res=requests.get(url) #向相應(yīng)的url發(fā)有請(qǐng)求
txt=res.text #取得響應(yīng)(res)數(shù)據(jù)
with open("./test.html","w",encoding="utf-8") as fs: #把取得的數(shù)據(jù)存在本地
fs.write(txt)
print("end")
網(wǎng)站服務(wù)器會(huì)檢測(cè)請(qǐng)求方的身份侨赡,如果檢測(cè)到請(qǐng)求方為瀏覽器就認(rèn)為是正常訪問給予響應(yīng)羊壹,如果請(qǐng)求方不是瀏覽器油猫,網(wǎng)站有可能會(huì)拒絕訪問柠偶。
user-agent:攜帶請(qǐng)求方的身份標(biāo)識(shí),可以用user-agent把爬蟲偽裝為瀏覽器訪問毡证。
這是一個(gè)user-agent的例子料睛。
import requests
if __name__=="__main__":
url = "https://www.so.com/s" # 指定url
#設(shè)置user-agent用字典的形式
headers={'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36 QIHU 360SE'}
queryword =input("請(qǐng)錄入查詢內(nèi)容:")
parm={'q':queryword} #與網(wǎng)頁址查詢字標(biāo)識(shí)名一致 https://www.so.com/s?q=XXXXX
res = requests.get(url,params=parm,headers=headers) # 向相應(yīng)的url發(fā)有請(qǐng)求
txt = res.text # 取得響應(yīng)(res)數(shù)據(jù)
with open("./test1.html", "w", encoding="utf-8") as fs: # 把取得的數(shù)據(jù)存在本地
fs.write(txt)
print("end")
注意:User-Agent字段可以在相應(yīng)網(wǎng)頁上恤煞,打開“工具”-“開發(fā)員工具”雏蛮,然后刷新相應(yīng)網(wǎng)頁取得挑秉,如下圖
image.png