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测试可以,又可以愉快的爬虫了