這篇文章給大家介紹Python爬蟲中如何修改referer繞開登錄和訪問頻率限制,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
10年積累的成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè)經(jīng)驗(yàn),可以快速應(yīng)對客戶對網(wǎng)站的新想法和需求。提供各種問題對應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認(rèn)識(shí)你,你也不認(rèn)識(shí)我。但先網(wǎng)站制作后付款的網(wǎng)站建設(shè)流程,更有谷城免費(fèi)網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。
看官們在寫爬蟲程序時(shí)應(yīng)該都會(huì)遇到如下問題:
你的爬蟲程序開發(fā)時(shí)能正常抓取網(wǎng)頁,但是正式大量抓取時(shí),抓取的網(wǎng)站總是返回403或者500等;
你抓取的網(wǎng)站需要登錄,要花大量時(shí)間去研究網(wǎng)站登錄流程。
遇到問題1,我們的第一反應(yīng)是達(dá)到對方訪問頻率限制,IP被對方屏蔽了,然后就找更多IP和降低訪問頻率。
遇到問題2,就硬著頭皮研究對方加密方法,或人肉登錄后用機(jī)器把cookie保存下來,耗去好幾天時(shí)間。
除了上述直接攻克的方法,還有一種取巧的方法可以繞過上述兩個(gè)問題,就是修改http header中的referer來達(dá)到。注意這里是修改referer,不是修改user-agent。
我在網(wǎng)絡(luò)爬蟲的原理和[爬蟲分析利器:谷歌chrome瀏覽器中已經(jīng)介紹過http header和怎么使用chrome瀏覽器查看header信息了,還不太了解的可以再去復(fù)習(xí)一下這部分知識(shí),這里就只著簡單科普一下referer是啥。
referer是告訴目標(biāo)服務(wù)器(訪問的網(wǎng)站),你是從哪兒點(diǎn)擊進(jìn)入當(dāng)前頁面的。
比如你在百度搜索某個(gè)網(wǎng)站,然后點(diǎn)擊進(jìn)入網(wǎng)站,這個(gè)時(shí)候通過抓包工具可以觀察到,referer是類似如下樣式:
當(dāng)你遇到上訴兩個(gè)問題時(shí),你可以嘗試把referer改成上述截圖里的,是從搜索引擎點(diǎn)擊進(jìn)入的,你會(huì)發(fā)現(xiàn)有的網(wǎng)站,不會(huì)屏蔽從搜索引擎來的IP或者給這些IP的訪問頻率放得較為寬松。 甚至有的網(wǎng)站內(nèi)容本來是要登陸才能看見,但是你把referer改成是從百度來的,你會(huì)發(fā)現(xiàn)居然不用登錄也能看見了。
其實(shí)一句話就能說完,寫了這么一大篇,額。。。
這些網(wǎng)站為什么會(huì)厚此薄彼呢?
是有些網(wǎng)站想獲取SEO流量,就把從搜索引擎點(diǎn)擊進(jìn)入的訪問控制放得較為寬松的原因。所以當(dāng)你遇到如上兩個(gè)問題時(shí),先改一改referer試試,這樣可以節(jié)省你不少的研究時(shí)間。這適用于有的爬蟲是個(gè)臨時(shí)任務(wù)或者一次性的爬蟲,不用長期維護(hù),你快速寫好抓完數(shù)據(jù)就好的時(shí)候適用。 這個(gè)不是每個(gè)網(wǎng)站都有這樣的待遇,在下遇到的有此情況的網(wǎng)站有某職業(yè)社交網(wǎng)站,某工商信息查詢網(wǎng)站,某娛樂票務(wù)網(wǎng)站,就醬
關(guān)于Python爬蟲中如何修改referer繞開登錄和訪問頻率限制就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。