python构造referer_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_Python爬虫小偏方:修改referer绕开登录和访问频率限制的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: lisp6 暖通cad_(完整版)暖通C
- 下一篇: file 选择的图片作为背景图片_酷炫!