CentOS自建代理

实际工作中碰到的问题,抓取 QCC 网站,会有多个机器同时抓取。但是 cookie 不能频繁更换IP,否则会封号需要修改密码。所以登陆就需要相应机器IP进行登陆操作。自建代理,然后使用 selenium + 代理进行登陆操作。

CentOS 自建代理

1、安装 squid

yum -y install squid

2、 改为开机启动

systemctl enable squid.service

3、修改配置:

vim  /etc/squid/squid.conf#允许的客户端ipacl allcomputers src all#配置用户名密码,后面会生成passwords文件auth_param basic program /usr/lib64/squid/basic_ncsa_auth /etc/squid/passwordsacl authenticated proxy_auth REQUIREDhttp_access allow authenticated# 添加以下改成高匿模式,这样就可以完全避免被识别出来request_header_access X-Forwarded-For deny allrequest_header_access From deny allrequest_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.logtail -f /var/log/squid/cache.log

9、测试

selenium + 插件代理