反反爬蟲方式

一掌动、User-Agent

有的網(wǎng)站通過User-Agent頭來識別爬蟲洽故,這個直接添加常見瀏覽器的User-Agent頭就好了:

Mozilla/5.0 (Windows NT 10.0; WOW64; rv:49.0) Gecko/20100101 Firefox/49.0

二滥比、代理池

大部分網(wǎng)站都會通過檢測IP的請求頻率來防止爬蟲漠秋,這個時候就需要通過代理的方式請求,推薦幾個免費的代理IP網(wǎng)站:

當然實際上大部分不能用昔驱,所以一般要寫個爬蟲去爬取并驗證IP是否可用国拇,github上有個開源的項目幫我們做了這個事情:

https://github.com/qiyeboy/IPProxyPool
IPProxys代理池項目洛史,提供代理ip。使用python2.7.x開發(fā)

穩(wěn)定的項目最好還是用收費的代理酱吝,比如阿布云代理(https://www.abuyun.com/
用一個簡單的程序說明如何使用代理池:

import requests
import gevent
from gevent import monkey
monkey.patch_socket()

#代理ip列表
ips = ['ip1:80','ip2:80','ip3:80','ip4:80','ip5:80','ip6:80','ip7:80','ip8:80','ip9:80','ip10:80']
def worker(i):
    for j in range(i*10,i*10+10):
        body = requests.get("http://www.example.com/%d.html" % j, proxies={'http':ips[i]}).text

#每個協(xié)程一個ip
tasks = [gevent.spawn(worker, i) for i in range(len(ips))]
gevent.joinall(tasks)

三也殖、多次請求

爬蟲并發(fā)量過高時可能一次爬取不成功,這時就需要多次請求务热,requests的adapters模塊可以達到這個目的:

from requests.adapters import HTTPAdapter

s = requests.Session()
s.mount('http://', HTTPAdapter(max_retries=3))
body = s.get("http://www.baidu.com").text

四忆嗜、ADSL動態(tài)IP

對于沒錢買IP的同學,可以用ADSL撥號切換IP崎岂,當然前提是你使用的網(wǎng)絡(luò)支持這個功能,一般校園網(wǎng)都支持的PPPOE協(xié)議就可以捆毫。原理就是隔一段時間重撥一下號,就會分配一個新的IP冲甘。windows下的rasdial命令可以完成這種操作:

rasdial /DISCONNECT  //斷開連接
rasdial 寬帶連接 user passwd //撥號

用在程序里就是這樣:

import requests
import os

requests.get("http://www.example1.com")
os.system("rasdial /DISCONNECT")
os.system("rasdial 寬帶連接 user passwd")
requests.get("http://www.example2.com")
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末绩卤,一起剝皮案震驚了整個濱河市途样,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌濒憋,老刑警劉巖何暇,帶你破解...
    沈念sama閱讀 218,682評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異凛驮,居然都是意外死亡裆站,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,277評論 3 395
  • 文/潘曉璐 我一進店門辐烂,熙熙樓的掌柜王于貴愁眉苦臉地迎上來遏插,“玉大人,你說我怎么就攤上這事纠修。” “怎么了厂僧?”我有些...
    開封第一講書人閱讀 165,083評論 0 355
  • 文/不壞的土叔 我叫張陵扣草,是天一觀的道長。 經(jīng)常有香客問我颜屠,道長辰妙,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,763評論 1 295
  • 正文 為了忘掉前任甫窟,我火速辦了婚禮密浑,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘粗井。我一直安慰自己尔破,他們只是感情好,可當我...
    茶點故事閱讀 67,785評論 6 392
  • 文/花漫 我一把揭開白布浇衬。 她就那樣靜靜地躺著懒构,像睡著了一般。 火紅的嫁衣襯著肌膚如雪耘擂。 梳的紋絲不亂的頭發(fā)上胆剧,一...
    開封第一講書人閱讀 51,624評論 1 305
  • 那天,我揣著相機與錄音醉冤,去河邊找鬼秩霍。 笑死,一個胖子當著我的面吹牛蚁阳,可吹牛的內(nèi)容都是我干的铃绒。 我是一名探鬼主播,決...
    沈念sama閱讀 40,358評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼韵吨,長吁一口氣:“原來是場噩夢啊……” “哼匿垄!你這毒婦竟也來了移宅?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,261評論 0 276
  • 序言:老撾萬榮一對情侶失蹤椿疗,失蹤者是張志新(化名)和其女友劉穎漏峰,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體届榄,經(jīng)...
    沈念sama閱讀 45,722評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡浅乔,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,900評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了铝条。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片靖苇。...
    茶點故事閱讀 40,030評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖班缰,靈堂內(nèi)的尸體忽然破棺而出贤壁,到底是詐尸還是另有隱情,我是刑警寧澤埠忘,帶...
    沈念sama閱讀 35,737評論 5 346
  • 正文 年R本政府宣布脾拆,位于F島的核電站,受9級特大地震影響莹妒,放射性物質(zhì)發(fā)生泄漏名船。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,360評論 3 330
  • 文/蒙蒙 一旨怠、第九天 我趴在偏房一處隱蔽的房頂上張望渠驼。 院中可真熱鬧,春花似錦鉴腻、人聲如沸迷扇。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,941評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽谋梭。三九已至,卻和暖如春倦青,著一層夾襖步出監(jiān)牢的瞬間瓮床,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,057評論 1 270
  • 我被黑心中介騙來泰國打工产镐, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留隘庄,地道東北人。 一個月前我還...
    沈念sama閱讀 48,237評論 3 371
  • 正文 我出身青樓癣亚,卻偏偏與公主長得像丑掺,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子述雾,可洞房花燭夜當晚...
    茶點故事閱讀 44,976評論 2 355

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理街州,服務發(fā)現(xiàn)兼丰,斷路器,智...
    卡卡羅2017閱讀 134,659評論 18 139
  • 1 前言 作為一名合格的數(shù)據(jù)分析師唆缴,其完整的技術(shù)知識體系必須貫穿數(shù)據(jù)獲取鳍征、數(shù)據(jù)存儲、數(shù)據(jù)提取面徽、數(shù)據(jù)分析艳丛、數(shù)據(jù)挖掘、...
    whenif閱讀 18,073評論 45 523
  • 一、基礎(chǔ)知識篇:Http Header之User-AgentUser Agent中文名為用戶代理霎匈,是Http協(xié)議中...
    iPhone閱讀 15,731評論 0 13
  • 重寫規(guī)則 【重寫規(guī)則的作用范圍】 可以使用在Apache主配置文件httpd.conf中 可以使用在httpd.c...
    桖辶殤閱讀 1,668評論 0 0
  • 相信大家看過不少關(guān)于標志設(shè)計的讀物戴差,在標志設(shè)計這個行業(yè)上,可謂仁者見仁唧躲,智者見智造挽,每本書的作者,每個設(shè)計師都有自己...
    打豆豆閱讀 1,006評論 1 9