代碼里的“隨機應變”

說在前頭

有段時間沒更新了,期間發(fā)生了很多事瞻坝,這里就不一一贅述,有一個要說一下杏瞻, 之前我放在github上的springbootquick代碼結(jié)構(gòu)我重新整理了一下所刀,因為我覺得branch的方式去完善每個小功能不太直觀,索性找個時間全都整理在了一起捞挥,方便大家觀看

目錄結(jié)構(gòu)

項目地址為https://github.com/vector4wang/spring-boot-quick 里面有些是我工作中用到的浮创,有些是我在平時玩玩積累的,如果對你有幫助砌函,點個星斩披,fork一下溜族,我會感激不盡,如果有問題垦沉,請及時溝通我煌抒,我會在第一時間改正,我的原則是“交流乡话、互助摧玫、提升”~
  今天就我之前寫的一個小蟲子說一下代碼里的隨機應變耳奕,以下觀點均數(shù)個人看法绑青,如有雷同純屬巧合,如果你對我的看法有意見歡迎拍磚屋群,如果覺得我的理解有點意思闸婴,那有勞,點個贊分享一下芍躏,我定感激不盡邪乍,好的,言歸正傳对竣!

起因

世充日踧月迫庇楞,力盡計窮,懸首面縛否纬,翹足可待吕晌。建德遠來助虐,糧運阻絕临燃,此是天喪之時睛驳。請固武牢,屯軍氾水膜廊,隨機應變乏沸,則易為克殄 ---舊唐書·郭孝恪傳(指隨著情況的變化靈活機動地應付)

之前寫的領英爬蟲目標數(shù)據(jù)比較隨意,即抓取一段時間之后爪瓜,后面得到的數(shù)據(jù)都是老外的蹬跃,這不是我想要的,于是上級給了一個辦法铆铆, “通過百度搜索去抓”炬转,即在百度搜索某一個姓氏或常用名,通過百度返回的列表再依次去領英里去抓算灸,如圖

列表.png

后來驗證這是可行的扼劈,其實這里也是一個“隨機應變”的情景,這條路走不通立馬換條路菲驴,而且是可行的荐吵。
  問題到這看似沒有問題,但是用過百度的都知道,當你點擊某一結(jié)果的時候先煎,百度這邊需要做一個重定向處理贼涩,即重新指定url,例如你點擊百度鏈接http://www.baidu.com/link?url=6pwgxIUI8VfssEgJKHAHjdHBD_55cW5E72arpGIV9lZoAxLsaqV3do9p9O01kuzb3s3FlJKImEFkFsvWkDWL8a,經(jīng)過重定向后就變成了http://cn.linkedin.com/in/johnsonwangnz,這一點htmlunit做的很好薯蝎,自動獲取重定向的頁面遥倦,但是在防爬蟲這一塊,領英做的很好占锯,這一點列一下我知道的限制

  • ip限制 一個ip對領英產(chǎn)生大量非人類行為的請求袒哥,他會對這個ip登錄的賬號做一個人機驗證,比12306還好玩消略,大家可以試試堡称,手動偷笑~
  • 請求限制 當產(chǎn)生大量請求是,它會對請求直接拒絕~
  • 賬號限制 同一個ip或者ip所在的網(wǎng)段注冊多個領英賬號的時候艺演,賬號會出現(xiàn)各種繁瑣的驗證却紧,沒驗證的直接禁掉!Lコ贰晓殊!

目前我知道的就這幾條。
好伤提,因為是代碼巫俺,請求的速度非常快飘弧,一秒通過百度指向領英跳轉(zhuǎn)達到幾十個识藤,幾分鐘后代碼就報錯了,如下


999.png

  這啥啊次伶,999感冒靈沖劑啊!!!查了下code碼痴昧,原來是“訪問被拒絕”,我得出的結(jié)果是領英那邊檢查出了大量的個人頁面的請求冠王,速度很快非人類所能達到赶撰,于是就禁止數(shù)據(jù)返回。
  我心想這下完蛋了柱彻,這條路難道也走不通:滥取!哟楷!急的我抓耳撓腮~瘤载,然后我起身轉(zhuǎn)了一圈,喝了點水卖擅,突然靈光一閃鸣奔,“我想要的就是個人中心的鏈接啊墨技,我可以先拿到這些鏈接存起來作為種子url,然后再將以前的爬蟲改造一下挎狸,通過這些url去抓翱弁簟!”
于是锨匆,我將這些錯誤catch住崭别,通過簡單的正則來判斷是否為擁有個人中心的鏈接地址,如下:

final Pattern r = Pattern.compile("in/[\\u4e00-\\u9fa5-0-9-a-z-A-z%]*");



Matcher m = r.matcher(e.getMessage());
String seed = "";
if (m.find()) {
    seed = m.group();
    seed = seed.substring(3, seed.length());
}
System.out.println(seed);

結(jié)果為

seed.png

沒錯恐锣,白色就是種子url窗轩,最后在直接訪問http://www.linkedin.com/in/jingshi-wang-056b6245/ 就可以獲取這個人一些職業(yè)信息啦~~~
職業(yè)檔案.png

最終的是醬紫


結(jié)構(gòu).png

為什么領英爬蟲還要回寫種子DB怖亭,因為要將抓過的url打個標記抓過了成洗,整體就這么簡單印机。

現(xiàn)在種子抓了100多萬了匀奏,領英這塊抓了8萬多鞭衩,現(xiàn)在暫停了,因為帳號這塊的問題還沒有解決~~~娃善,啊哈哈哈哈

后記

代碼我放在了github上论衍,點我,其實這里并不是說代碼的這一塊的,而是如何對代碼反饋出來的結(jié)果做出靈活的應對以致快速總結(jié)出解決方案聚磺,這不就是對代碼的“隨機應變”嗎~~

歡迎大家瀏覽我的個人博客http://vector4wang.tk

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末坯台,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子瘫寝,更是在濱河造成了極大的恐慌蜒蕾,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,084評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件焕阿,死亡現(xiàn)場離奇詭異咪啡,居然都是意外死亡,警方通過查閱死者的電腦和手機暮屡,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,623評論 3 392
  • 文/潘曉璐 我一進店門撤摸,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人褒纲,你說我怎么就攤上這事准夷。” “怎么了莺掠?”我有些...
    開封第一講書人閱讀 163,450評論 0 353
  • 文/不壞的土叔 我叫張陵衫嵌,是天一觀的道長。 經(jīng)常有香客問我彻秆,道長楔绞,這世上最難降的妖魔是什么论悴? 我笑而不...
    開封第一講書人閱讀 58,322評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮墓律,結(jié)果婚禮上膀估,老公的妹妹穿的比我還像新娘。我一直安慰自己耻讽,他們只是感情好察纯,可當我...
    茶點故事閱讀 67,370評論 6 390
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著针肥,像睡著了一般饼记。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上慰枕,一...
    開封第一講書人閱讀 51,274評論 1 300
  • 那天具则,我揣著相機與錄音,去河邊找鬼具帮。 笑死博肋,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的蜂厅。 我是一名探鬼主播匪凡,決...
    沈念sama閱讀 40,126評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼掘猿!你這毒婦竟也來了病游?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,980評論 0 275
  • 序言:老撾萬榮一對情侶失蹤稠通,失蹤者是張志新(化名)和其女友劉穎衬衬,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體改橘,經(jīng)...
    沈念sama閱讀 45,414評論 1 313
  • 正文 獨居荒郊野嶺守林人離奇死亡滋尉,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,599評論 3 334
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了唧龄。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片兼砖。...
    茶點故事閱讀 39,773評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖既棺,靈堂內(nèi)的尸體忽然破棺而出讽挟,到底是詐尸還是另有隱情,我是刑警寧澤丸冕,帶...
    沈念sama閱讀 35,470評論 5 344
  • 正文 年R本政府宣布耽梅,位于F島的核電站,受9級特大地震影響胖烛,放射性物質(zhì)發(fā)生泄漏眼姐。R本人自食惡果不足惜诅迷,卻給世界環(huán)境...
    茶點故事閱讀 41,080評論 3 327
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望众旗。 院中可真熱鬧罢杉,春花似錦、人聲如沸贡歧。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,713評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽利朵。三九已至律想,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間绍弟,已是汗流浹背技即。 一陣腳步聲響...
    開封第一講書人閱讀 32,852評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留樟遣,地道東北人而叼。 一個月前我還...
    沈念sama閱讀 47,865評論 2 370
  • 正文 我出身青樓,卻偏偏與公主長得像年碘,于是被迫代替她去往敵國和親澈歉。 傳聞我的和親對象是個殘疾皇子展鸡,可洞房花燭夜當晚...
    茶點故事閱讀 44,689評論 2 354

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

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理屿衅,服務發(fā)現(xiàn),斷路器莹弊,智...
    卡卡羅2017閱讀 134,654評論 18 139
  • 戎裝翠綠一身新涤久, 昂首山崖目遠巡。 勢似刀槍桿桿立忍弛, 錚錚鐵骨鑄軍魂响迂。
    肖建東閱讀 375評論 10 8
  • 關于不同的Servlet的配置所有的Servlet程序都必須在web.xml文件中進行配置,如果一個web.xml...
    年少懵懂丶流年夢閱讀 295評論 1 3
  • (一) 海鷗只只飛過海面细疚,浪花朵朵拍擊著...
    Yn有恩閱讀 234評論 0 1
  • 冬日的陽光逼退著刺骨的寒風蔗彤,本以為它可以溫暖這個冬天,卻發(fā)現(xiàn)只是瞬間疯兼。 辦公室的氣氛...
    合腳的鞋子閱讀 213評論 0 0