- 該APP必須登陸才能訪問所有頁面。 - 你的賬號如果沒有關(guān)注對方,對方的詳細介紹頁面的很多信息就被隱藏了。 - APP的用戶詳細頁面一個賬號大概只能訪問100次/天(有點記不清具體數(shù)字了)就不能訪問了。 俺注冊了10個該APP賬號,模擬登錄后一天只能抓1000千多個,還有好些數(shù)據(jù)不全(因為沒有關(guān)注對方), 實在離俺想要的數(shù)據(jù)量相差較遠。 總結(jié)上面的問題就是沒有足夠多的賬號,就算賬號足夠多,每個賬號和每個ip也有抓取限制。 于是就把該產(chǎn)品的APP,微信,網(wǎng)頁里里外外都翻了一遍,能點的地方都去點一下看看。 有了新的發(fā)現(xiàn): - 該APP的用戶詳細頁分享到微信后,通過微信打開可以直接訪問,不需要登錄,也不需要微信授權(quán),用戶詳細頁信息都是全的(解決了需要關(guān)注才能查看全面信息問題)。 - 通過APP獲取分享到微信的url的接口訪問頻率控制放得很寬松。 - 雖然在微信上不用登錄訪問,沒有賬號限制了,但是還是有單個IP的訪問頻率控制。 分析完后,我就舒緩了很多,得出新的抓取思路,就是: 使用10個賬號按一定頻次通過APP不停的獲取每個用戶詳細頁分享到微信的URL,讓另外一個程序模仿微信的user-agent不停的訪問這些分享到微信的URL(要使用adsl撥號來解決單個IP訪問頻率控制問題)。 這樣通過app加微信的方式解決了對賬號的限制問題,實現(xiàn)了曲線救國。 后來我就發(fā)現(xiàn)好些抓取問題都有這種解決思路,跟我們在網(wǎng)絡(luò)爬蟲小偏方之一里講的,有的網(wǎng)站為了SEO流量,而把referer來自百度的訪問控制放寬了一樣。 有的產(chǎn)品為了微信的流量(分享到微信里的頁面可以直接打開,點擊其他頁面時再提示要注冊登錄),而對來自微信點擊訪問控制放寬了。 友情提示:抓取這些社交信息,對關(guān)鍵信息最好脫敏,不要買賣這類數(shù)據(jù)。 |
|