centos伺服器搭建代理IP 給 Python爬蟲使用
阿新 • • 發佈:2018-12-26
centos7伺服器 用Squid搭建HTTP代理,給python 爬 網站用
python 爬一個網站次數太多,被封IP,就用代理IP解決
可去西刺免費代理IP網站找免費代理IP(http://www.xicidaili.com/)
找了一會免費IP,發現不是不能用就是太慢,決定自己用伺服器搭建一個代理IP
先上python 程式碼
from urllib import request if __name__ == "__main__": #訪問網址 url = 'http://www.wuxiaodong.cn' #這是代理IP proxy = {'http':'222.221.11.119:3128'} #建立ProxyHandler proxy_support = request.ProxyHandler(proxy) #建立Opener opener = request.build_opener(proxy_support) #新增User Angent opener.addheaders = [('User-Agent','Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36')] #安裝OPener request.install_opener(opener) #使用自己安裝好的Opener response = request.urlopen(url,timeout=5) #讀取相應資訊並解碼 html = response.read().decode("utf-8") #列印資訊 print(html)
搭建伺服器:
1、yum 安裝 squid (-y 全自動安裝)
yum install squid -y
yum install httpd-tools -y
2、生成密碼檔案
mkdir /etc/squid3/
#username 是使用者名稱
htpasswd -cd /etc/squid3/passwords username
#提示輸入密碼,輸入即可
3、配置squid.conf檔案
vi /etc/squid/squid.conf
配置檔案最後加入
auth_param basic program /usr/lib64/squid/basic_ncsa_auth /etc/squid3/passwords auth_param basic realm proxy acl authenticated proxy_auth REQUIRED http_access allow authenticated #這裡是埠號,可以按需修改,同時監聽ipv6和ipv4的埠 http_port 0.0.0.0:3128
# 設定來源IP白名單,增加的這兩行要在 http_access deny all 前面
acl client src 122.55.87.125
http_access allow client
# And finally deny all other access to this proxy
http_access deny all
4、修改完配置檔案後 啟動
#啟動
systemctl start squid.service
#配置開機自啟動
systemctl enable squid.service
5、如果配置檔案有錯,會啟動不了,檢查下重新啟動
配上前面的python 程式碼,換了代理IP測試可以,又可以愉快的爬蟲了