CentOS 自建代理
Python爬虫scrapy
共 1268字,需浏览 3分钟
·
2020-12-05 19:14
实际工作中碰到的问题,抓取 QCC 网站,会有多个机器同时抓取。但是 cookie 不能频繁更换IP,否则会封号需要修改密码。所以登陆就需要相应机器IP进行登陆操作。自建代理,然后使用 selenium + 代理进行登陆操作。
CentOS 自建代理
1、安装 squid
yum -y install squid
2、 改为开机启动
systemctl enable squid.service
3、修改配置:
vim /etc/squid/squid.conf
#允许的客户端ip
acl allcomputers src all
#配置用户名密码,后面会生成passwords文件
auth_param basic program /usr/lib64/squid/basic_ncsa_auth /etc/squid/passwords
acl authenticated proxy_auth REQUIRED
http_access allow authenticated
# 添加以下改成高匿模式,这样就可以完全避免被识别出来
request_header_access X-Forwarded-For deny all
request_header_access From deny all
request_header_access Via deny all
这里说明一下/usr/lib64/squid/basic_ncsa_auth /etc/squid/passwords这两个是文件,前面的安装了squid就已经存在,后面的需要自己生成。
4、找到http_access deny all并注释掉
#http_access deny all
# 修改一下默认的3128端口
http_port 3601
5、用户名密码认证
使用的是htpasswd命令
yum install httpd-tools
sudo htpasswd -bc /etc/squid/passwords 用户名 密码
sudo chmod o+r /etc/squid/passwords
6、检查squid配置是否正确
squid -z
可能会有下面的错误
在配置文件 /etc/squid/squid.conf
中去掉下面这行的注释
#cache_dir ufs /var/spool/squid 100 16 256
7、重新执行命令,启动这个服务
systemctl restart squid.service
如果是腾讯云或者阿里云,需要打开相应的安全组端口。
8、查看日志
tail -f /var/log/squid/access.log
tail -f /var/log/squid/cache.log
9、测试
selenium + 插件代理
评论