今日,发现平时能正常爬虫数据的网站,突然无法爬取了,怀疑是ip被封,于是使用别的阿里云公网ip进行访问,发现同样访问不了,于是初步怀疑是由于是爬虫放在阿里云服务器上,而阿里云服务器的公网ip都是有标识的,此网站可能会对ip进行解析,如果ip为阿里云公网ip则拒绝。由于访问一直是超时,并不是拒绝访问等,所以只是初步怀疑,或者阿里云ip对此网站访问时会有点问题等。也排除了dns的问题。
于是,便打算在本地服务器上设置代理服务器,让阿里云服务器的爬虫使用本地的代理服务器,进行代理访问网站。进行数据爬取。
代理服务器选择使用tinyproxy开源工具,轻量级,简单好用。下面是搭建步骤:
环境:
centos7
tinyproxy
1. 下载tinyproxy
yum install tinyproxy -y
vim /etc/tinyproxy/tinyproxy.conf # 端口 Port 8888 # 允许访问的ip,后面接允许的ip,比如我只需要我阿里云的公网ip能访问就行,于是用阿里云公网ip替换127.0.0.1。如果要所有ip均可访问就注释掉此配置 Allow 127.0.0.1 # 性能配置,一般不需要修改,根据需要进行调整。(这里我没有修改) MaxClients 100 MinSpareServers 5 MaxSpareServers 20 StartServers 10 MaxRequestsPerChild 0 MaxRequestsPerChild 0
3. 启动服务
systemctl start tinyproxy
4. 开放端口
firewall-cmd --add-port=8888/tcp --permanent # 开发的端口为你上面配置的端口 firewall-cmd --reload
以chrome为例,点击设置 --> 高级 --> 打开代理设置。 进入如下配置,将代理服务器的ip和port填写进去即可。
。
然后测试一些能否正常上网,能即正常代理
OK。到此便完成了代理服务器的搭建。