爬蟲經常用到ip代理。解決方案無非幾種:
1.網絡上尋找一些免費代理,優點:免費不限量;缺點:可用性較低,驗證費時間費資源。一些有免費代理的網站,西刺代理,站大爺,89免費代理等等,網上可以搜出一大堆。
2.購買代理ip,和找免費的差不多,一般有免費代理ip的網站基本都有收費的api。優點:可用性較高,較穩定。缺點:要錢。嚴格說,這個也不算缺點,要錢很多人也能接受,帶來的方便還是很大程度的。
3.自己搭建ip代理,自己租服務器自己搭。優點:穩定,可控。缺點:麻煩,成本高。
暫時接觸過的就這幾種,不同的場景使用不同的方案。
目前有需要一個穩定ip,於是整一台服務器自己搭一下就可以。搭建代理也有很多種協議,工具,這里使用tinyproxy,簡單方便。
安裝配置流程:
一、首先安裝tinyproxy
執行命令 yum -y install tinyproxy
找不到安裝包的時候可以裝一下epel。
安裝 yum install epel-release
二、配置
編輯tinyproxy的配置文件
vi /etc/tinyproxy/tinyproxy.conf
1.更改端口,默認8888。可以更改為自己喜歡的端口,也可不修改,直接使用8888端口。
找到"Port"字樣,修改緊跟其后的數字即可。
2.修改允許連接代理的ip。默認只允許本地。
找到"Allow"字樣,修改其后的ip,如有多個,可寫多個Allow。這里選擇注釋掉,允許所有ip連接。
3.開啟服務
使用命令
service tinyproxy start 或
/bin/systemctl start tinyproxy.service
三、驗證
多種驗證方式
可以使用curl,在需要代理的機器上執行命令。
1.執行:
curl -x 180.123.148.125:4396 httpbin.org/get
返回:
2.執行:
curl ip.sb --proxy 180.123.148.125:4396
返回
也可以使用其他驗證方式,如瀏覽器使用此代理,訪問獲取本地ip的網站等。
若驗證失敗,可能是端口沒開,使用iptables開放端口。
iptables -I INPUT -p tcp --dport 4396 -j ACCEPT
tinyproxy總結:
*tinyproxy對於IP代理來說滿足了最基本的需求。
*資源消耗較小,配置簡單。
*http,https均支持。
*這種代理方式是透明代理。