CentOS 自建代理

Python爬虫scrapy

共 1268字,需浏览 3分钟

 · 2020-12-05

实际工作中碰到的问题,抓取 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 + 插件代理


浏览 9
点赞
评论
收藏
分享

手机扫一扫分享

举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

举报