如何解決python爬蟲——遇到requests.get()訪問得到418問題
在爬蟲時候,通過requests.get()得到不正確的狀態碼:
4**:表示出錯
403問題:服務器已經理解請求,但是拒絕執行它
418問題:網站的反爬程序返回的
其他HTTP狀態碼查找可以參考:
https://baike.baidu.com/item/HTTP%E7%8A%B6%E6%80%81%E7%A0%81/5053660?fr=aladdin#4_19
當我們在爬蟲時候遇到418問題:
解決方法:
補充上headers: 目的是模擬瀏覽器,欺騙服務器,獲取和瀏覽器一致的內容
代碼修改爲:
import requests
url ='https://book.douban.com/tag/小說'
headers={'Referer': 'https://book.douban.com/tag/%E5%B0%8F%E8%AF%B4',User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/73.0.3683.86 Safari/537.36'}
response=requests.get(url, headers=headers,timeout=3)
response
1
2
3
4
5
6
7
8
結果顯示如下:
其中,headers怎麼獲取呢,打開你要爬取的網頁,F12鍵——Network——Headers(Request Headers)下的內容copy過來就可以了
注意:
出現 ‘set’ object has no attribute ‘items’ 的問題
解決方法:
‘Referer’: ‘https://book.douban.com/tag/%E5%B0%8F%E8%AF%B4’
冒號左右兩邊都要加單引號
參考網頁:
1. requests的基本用法: https://www.jianshu.com/p/ec9451d960db
2. HTTP狀態碼查找:
https://baike.baidu.com/item/HTTP%E7%8A%B6%E6%80%81%E7%A0%81/5053660?fr=aladdin#4_19
————————————————
版權聲明:本文爲CSDN博主「Rong~」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/weixin_43144769/article/details/105715728