####
現狀,
就是爬取數據的時候,單ip是不可能快速獲得數據了,
現在常用的ip反爬,就是按照你訪問的頻率,如果識別到就封你的ip,更多的是封一段時間,比如一小時,比如幾天,也有永久封禁,
但是現在大公司,屏蔽ip的成本變得很大,因為有的一個ip,不是一個人在用,而是一個公司,一個小區在用一個ip出口,這樣屏蔽成本太大了,
更多的是觸發驗證碼,讓你進行人機識別,
目前遇到的比較難搞的反爬蟲技術有兩個:特別難識別的人機識別驗證碼–如極驗的手勢驗證,另外就是ip大量的限制,如R網站兩次訪問就被強制跳轉到驗證碼頁面。
針對這個問題,采用爬蟲屆大招一樣的ADSL動態部署起來,但是,要明白用ADSL就意味着是開始拼成本了。不再像是過去隨意一台電腦就愛怎么爬怎么爬。
####
ip問題,
ip問題,就涉及到成本問題,
如果不是以爬蟲為生的公司,基本不會投入太多成本,
1,使用芝麻代理這種,這種用起來很方便,
https://zhimahttp.com/getapi/
要用高匿名代理,網站看到的不會是你的真實ip,
好處就是使用方便,調他的接口就可以了,
但是成本高,
2,使用vps撥號,
vps撥號服務器,就可以看成雲服務器,只是這種不穩定,可能運行幾天就會很卡,需要重啟,有可能數據還會丟失,
但是我們用作撥號服務器還是可以的,每撥號一次,ip就會更換,
http://www.5jwl.com/ 無極網絡,
這種vps撥號,有很多的地區分類,可以只撥號北京,或者某一個地方的,或者全國的,一般撥號還是要大城市的,北京上海的,因為涉及到賬號的,會發現你同一個賬號,但是ip是全國跳,這就不對了,而且北京上海的用戶也是最多的,
配置比較低,但是價格很便宜,
你看一台才每個月100塊,你買10台,才一個月1000塊,但是10台一次就是獲取10個ip,你已經可以一天抓取上千萬的數據了,
這個日抓取千萬,已經可以了,對於一般的公司來說,
現在是必須要實名認證了,
你買的時候,會讓你選擇裝什么系統,cenos,
然后你買好了,告訴你賬號密碼,就可以遠程登陸了,
買一個廠家,撥號方式可能不一樣,所以還是買的時候需要注意問下客服,
這種劣勢,就是配制上比較麻煩一點,
####
vps撥號服務器的使用方法,
####
第一種使用方法,
你可以完全把爬蟲程序放到上面,一般這種就是小的爬蟲,你不需要一天抓幾百萬,幾十萬,
這種如果每天爬取幾萬,可以放到這個機器上跑爬蟲,不能放大型的爬蟲,因為內存,硬盤不夠用,
具體要多久撥號一次,每個網站是不一樣的,你要去試,
然后你試出來100次會屏蔽你,那你的爬蟲就可以計數,然后就可以重新撥號,
當時抓企查查的時候,每天100萬,然后抓取10幾天就可以了,
這種一個機器就夠了,
適合那種總爬取量幾千萬的
可以定時把數據往本地拉取,
####
第二種使用方法
如果你只有一個機器,但是不想把這個爬蟲放到這個機器上,因為比較麻煩,還要按照python這些,
那就要把這個vps撥號服務器,變成一個代理服務器,
這樣你需要自己搭建一下,
vps服務器上,可以使用tinyproxy,或者spuid軟件,作為http代理服務器,
vps服務器一般都是centos的,
然后你的python程序就可以調這個代理服務器,就可以切換ip,抓取數據了,
但是一定要注意,現在很多廠商已經不支持,把vps服務器搭建成為代理服務器了,可能是政策原因,買之前一定要問清楚,
http://www.sunnet365.com/ 這家廠商還支持
把vps服務器搭建成為代理服務器的操作:
第一步,安裝python3,因為centos,只有python2
第二步,安裝tinyproxy
然后后面搭建好了之后,怎么使用呢?其實就是如果管理這種代理服務器,
第一種管理方法:使用一個固定ip的服務器,使用客戶端和服務端的思想來管理,
你要遠程調用這個代理服務器,你就要知道這個ip和端口,
所以你怎么知道呢?
假設你有3台vps代理服務器,如果管理呢?
需要有一個固定ip的服務器,然后其他的代理服務器上報這個ip到固定服務器,
各個服務器之間的通信,可以使用socket通信,也可以使用web編程,
注意這個固定ip的服務器,必須要穩定,質量要好,可以使用阿里服務器來擔任這個固定ip服務器,然后就可以作為服務端,買最低配的就行,一個月大概幾十塊錢,
其他的代理服務器作為客戶端,作為通信,
第二種管理方法:使用dns服務器,來解析代理服務器的域名,獲得ip,
可以到阿里買域名,就是幾塊錢,但是是有時效的,需要續費才可以維持這個域名,
然后把域名配置上,
原理就是域名可以解析出ip,需要把每一個機器都配置一個域名,可以是子域名,
如果實現?
還是需要一個第三方的dns服務器,可以使用阿里雲,
因為我們要馬上解析出來結果,
現在也有免費的dns解析服務器,但是這個解析的時間很長,效率太低,
如果使用dns服務器解析域名,
調用dns服務商提供的api,
需要撥號之后,向dns服務器上報
###
所以你看到了,
使用vps撥號服務器,的確比較麻煩,如果有錢的話,當然還是使用芝麻代理這樣的,直接調用接口,方便,快捷,
####