其實在抓取數(shù)據(jù)時,如果有大量的離散賬號和離散IP的話,抓取數(shù)據(jù)就問題不大了。但是老猿相信大部分的爬蟲選手們都沒有這么多的資源,所以就會絞盡腦汁研究和各種嘗試對方的訪問控制策略,如果始終無法破局,這時就要跳出來想下其他辦法,比如多使用一下對方的產(chǎn)品,包括APP,網(wǎng)站,微信等,抓包看看他們之間的URL有沒有關(guān)聯(lián),訪問控制策略是否一致等,有時你會找到新的突破口。
成都創(chuàng)新互聯(lián)是專業(yè)的城北網(wǎng)站建設(shè)公司,城北接單;提供網(wǎng)站設(shè)計、網(wǎng)站制作,網(wǎng)頁設(shè)計,網(wǎng)站設(shè)計,建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進行城北網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團隊,希望更多企業(yè)前來合作!
曾經(jīng)我想要某職業(yè)社交APP里的一些用戶詳細頁的信息用來做分析,但是面臨如下問題:
就注冊了10個該APP賬號,模擬登錄后一天只能抓1000千多個,還有好些數(shù)據(jù)不全(因為沒有關(guān)注對方), 實在離俺想要的數(shù)據(jù)量相差較遠。
總結(jié)上面的問題就是沒有足夠多的賬號,就算賬號足夠多,每個賬號和每個ip也有抓取限制。
于是就把該產(chǎn)品的APP,微信,網(wǎng)頁里里外外都翻了一遍,能點的地方都去點一下看看。
有了新的發(fā)現(xiàn):
分析完后,舒緩了很多,得出新的抓取思路,就是:
使用10個賬號按一定頻次通過APP不停的獲取每個用戶詳細頁分享到微信的URL,讓另外一個程序模仿微信的user-agent不停的訪問這些分享到微信的URL(要使用adsl撥號來解決單個IP訪問頻率控制問題)。
這樣通過app加微信的方式解決了對賬號的限制問題,實現(xiàn)了曲線救國。
后來就發(fā)現(xiàn)好些抓取問題都有這種解決思路,跟我們在網(wǎng)絡(luò)爬蟲小偏方之一里講的,有的網(wǎng)站為了SEO流量,而把referer來自百度的訪問控制放寬了一樣。
有的產(chǎn)品為了微信的流量(分享到微信里的頁面可以直接打開,點擊其他頁面時再提示要注冊登錄),而對來自微信點擊訪問控制放寬了。