您好,登錄后才能下訂單哦!
這篇文章給大家介紹Python爬蟲中如何修改referer繞開登錄和訪問頻率限制,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
看官們在寫爬蟲程序時應該都會遇到如下問題:
你的爬蟲程序開發時能正常抓取網頁,但是正式大量抓取時,抓取的網站總是返回403或者500等;
你抓取的網站需要登錄,要花大量時間去研究網站登錄流程。
遇到問題1,我們的第一反應是達到對方訪問頻率限制,IP被對方屏蔽了,然后就找更多IP和降低訪問頻率。
遇到問題2,就硬著頭皮研究對方加密方法,或人肉登錄后用機器把cookie保存下來,耗去好幾天時間。
除了上述直接攻克的方法,還有一種取巧的方法可以繞過上述兩個問題,就是修改http header中的referer來達到。注意這里是修改referer,不是修改user-agent。
我在網絡爬蟲的原理和[爬蟲分析利器:谷歌chrome瀏覽器中已經介紹過http header和怎么使用chrome瀏覽器查看header信息了,還不太了解的可以再去復習一下這部分知識,這里就只著簡單科普一下referer是啥。
referer是告訴目標服務器(訪問的網站),你是從哪兒點擊進入當前頁面的。
比如你在百度搜索某個網站,然后點擊進入網站,這個時候通過抓包工具可以觀察到,referer是類似如下樣式:
當你遇到上訴兩個問題時,你可以嘗試把referer改成上述截圖里的,是從搜索引擎點擊進入的,你會發現有的網站,不會屏蔽從搜索引擎來的IP或者給這些IP的訪問頻率放得較為寬松。 甚至有的網站內容本來是要登陸才能看見,但是你把referer改成是從百度來的,你會發現居然不用登錄也能看見了。
其實一句話就能說完,寫了這么一大篇,額。。。
這些網站為什么會厚此薄彼呢?
是有些網站想獲取SEO流量,就把從搜索引擎點擊進入的訪問控制放得較為寬松的原因。所以當你遇到如上兩個問題時,先改一改referer試試,這樣可以節省你不少的研究時間。這適用于有的爬蟲是個臨時任務或者一次性的爬蟲,不用長期維護,你快速寫好抓完數據就好的時候適用。 這個不是每個網站都有這樣的待遇,在下遇到的有此情況的網站有某職業社交網站,某工商信息查詢網站,某娛樂票務網站,就醬
關于Python爬蟲中如何修改referer繞開登錄和訪問頻率限制就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。