解決python爬取網(wǎng)站被反爬

問題場景

一次性爬取豆瓣的電影TOP250時,被服務(wù)器判定為IP異常,需要登錄才能正常使用

原理

爬蟲會干擾到正常的服務(wù)器訪問,所以一般的網(wǎng)站都會有反爬蟲機制,主要的原理是:

  • 監(jiān)聽TCP連接;
  • 分析請求中的User-Agent和refer信息;
  • 訪問時間間隔短,訪問量大
解決方式

python爬取豆瓣電影,被反爬后的解決方式:

  • user_agent
    user_agent是瀏覽器類型的詳細(xì)信息,也是瀏覽器提交請求的重要請求頭部字段;
    可以提供不同的user_agent,來繞過瀏覽器的反爬機制;
  • 使用代理和IP輪換
    反爬機制最常用的方式之一是檢測IP,因此可以更換不同的IP地址來爬取內(nèi)容;
  • 設(shè)置訪問時間和間隔
    有些網(wǎng)站的會設(shè)置訪問時間間隔,短時間訪問次數(shù)超過了默認(rèn)次數(shù),就會被禁用,因此可以降低訪問頻率,設(shè)置長一點的訪問時間;

自己解決的時候是加headers,盡可能字段多和詳盡,可以暫時解決IP被禁用,但是爬取太多頁面還是會被禁用,所以為了直接解決這個問題,選擇fake_useragent來隨機更換請求頭里的User-Agent字段,達到繞過反爬機制的效果

fake_useragent的使用方法請移步:

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容