1. 程式人生 > >centos伺服器搭建代理IP 給 Python爬蟲使用

centos伺服器搭建代理IP 給 Python爬蟲使用

 

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測試可以,又可以愉快的爬蟲了