油猴爬蟲方案

背景

目前很多知名的網(wǎng)站都增加一些反爬蟲手段竹握,使得編寫爬蟲時(shí)并不那么理想抖格,有些網(wǎng)站很難破解其反爬技術(shù)冕房。如利用puppeteer技術(shù)操作頁面時(shí)生逸,往往出現(xiàn)一些加載異常牢屋,容易被網(wǎng)站檢測(cè)程序探測(cè)到而拒絕響應(yīng)。

方案

瀏覽器擴(kuò)展程序油猴(tampermonkey)似乎可以做很多事件槽袄,對(duì)分析網(wǎng)頁與事件處理有大的能力空間烙无。由于油猴是在用戶手動(dòng)打開的瀏覽器下運(yùn)行的,完全是與真人操作類似遍尺,可能不那么容易被檢測(cè)到截酷。

思路是這樣的:

第一步:人工啟動(dòng)瀏覽器,導(dǎo)航到要抓取數(shù)據(jù)的頁面乾戏;(這一步是唯一人工干擾的)

第二步:油猴自動(dòng)啟動(dòng)迂苛,分析頁面,處理頁面數(shù)據(jù)鼓择;

第三步:將獲得的數(shù)據(jù)通過GM_xmlhttpRequest接口推送到后臺(tái)數(shù)據(jù)接收服務(wù)三幻,將數(shù)據(jù)入庫;

第三步:獲得“下一頁”標(biāo)簽元素呐能,觸發(fā)下一頁請(qǐng)求念搬;返回第二步重復(fù)運(yùn)行;

第四步:沒有“下一頁”時(shí)催跪,程序退出锁蠕。

缺點(diǎn)及優(yōu)化

上述方案的缺點(diǎn)很明顯,那就是第一步必須是人工啟動(dòng)瀏覽懊蒸,導(dǎo)航到具體頁面荣倾,沒有計(jì)劃任務(wù)。

當(dāng)然這不是大問題骑丸,還是利用油猴舌仍,編寫一個(gè)計(jì)劃任務(wù)的腳本來解決上述問題妒貌,即利用js定時(shí)器,觸發(fā)指定的頁面铸豁。更進(jìn)一步灌曙,我們有好多爬蟲腳本,這時(shí)我們就做一個(gè)任務(wù)隊(duì)列节芥,讓js定時(shí)器通過導(dǎo)航到指定頁面來啟動(dòng)對(duì)應(yīng)的js腳本在刺。js定時(shí)器的@match值為http://*/*

具體做法是:

一头镊、編輯js定時(shí)器(計(jì)劃任務(wù))蚣驼,實(shí)現(xiàn)定時(shí)打開指定網(wǎng)站;

二相艇、讓瀏覽器始終打開颖杏;

三、部分需要登錄的網(wǎng)站坛芽,先行登錄留储;并讓定時(shí)器第間隔一段時(shí)間(如半小時(shí))刷新一下網(wǎng)站的一個(gè)非數(shù)據(jù)頁面。

四咙轩、爬蟲腳本執(zhí)行完后获讳,盡量關(guān)閉頁簽,以節(jié)省電腦資源臭墨。

示意圖

grab_flow.png
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末赔嚎,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子胧弛,更是在濱河造成了極大的恐慌尤误,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,194評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件结缚,死亡現(xiàn)場(chǎng)離奇詭異损晤,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)红竭,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,058評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門尤勋,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人茵宪,你說我怎么就攤上這事最冰。” “怎么了稀火?”我有些...
    開封第一講書人閱讀 156,780評(píng)論 0 346
  • 文/不壞的土叔 我叫張陵暖哨,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我凰狞,道長(zhǎng)篇裁,這世上最難降的妖魔是什么沛慢? 我笑而不...
    開封第一講書人閱讀 56,388評(píng)論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮达布,結(jié)果婚禮上团甲,老公的妹妹穿的比我還像新娘。我一直安慰自己黍聂,他們只是感情好躺苦,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,430評(píng)論 5 384
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著产还,像睡著了一般圾另。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上雕沉,一...
    開封第一講書人閱讀 49,764評(píng)論 1 290
  • 那天,我揣著相機(jī)與錄音去件,去河邊找鬼坡椒。 笑死,一個(gè)胖子當(dāng)著我的面吹牛尤溜,可吹牛的內(nèi)容都是我干的倔叼。 我是一名探鬼主播,決...
    沈念sama閱讀 38,907評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼宫莱,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼丈攒!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起授霸,我...
    開封第一講書人閱讀 37,679評(píng)論 0 266
  • 序言:老撾萬榮一對(duì)情侶失蹤巡验,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后碘耳,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體显设,經(jīng)...
    沈念sama閱讀 44,122評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,459評(píng)論 2 325
  • 正文 我和宋清朗相戀三年辛辨,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了捕捂。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,605評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡斗搞,死狀恐怖指攒,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情僻焚,我是刑警寧澤允悦,帶...
    沈念sama閱讀 34,270評(píng)論 4 329
  • 正文 年R本政府宣布,位于F島的核電站溅呢,受9級(jí)特大地震影響澡屡,放射性物質(zhì)發(fā)生泄漏猿挚。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,867評(píng)論 3 312
  • 文/蒙蒙 一驶鹉、第九天 我趴在偏房一處隱蔽的房頂上張望绩蜻。 院中可真熱鬧,春花似錦室埋、人聲如沸办绝。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,734評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽孕蝉。三九已至,卻和暖如春腌逢,著一層夾襖步出監(jiān)牢的瞬間降淮,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,961評(píng)論 1 265
  • 我被黑心中介騙來泰國打工搏讶, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留佳鳖,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,297評(píng)論 2 360
  • 正文 我出身青樓媒惕,卻偏偏與公主長(zhǎng)得像系吩,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子妒蔚,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,472評(píng)論 2 348

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