1、例行背景
需要代理ip,找了好多代理供应商效果非常差[主要抓取的是国外网站],本着自己动手丰衣足食的念头,根据各种工具书介绍,知道了Scrapoxy,本着死马当作活马医的态度,自己搭建一套试试
2、Scrapoxy介绍[官网介绍]
Scrapoxy 将您的webscraper隐藏在云端。
它启动一个代理池来转发您的请求。
现在,您可以在不考虑黑名单的情况下进行爬行!
它是用ES6(Node.js和AngularJS)编写的,
它是开源的!
3、作用
创建自己的代理
使用多个云提供商(AWS,DigitalOcean,OVH,Vscale)
轮换IP地址
模仿已知的浏览器
排除列入黑名单的实例
监控请求
检测阻塞
优化刮刀[Optimize the scraping] ps 没翻译明白
4、搭建Scrapoxy
1).如果你是aws新用户可以拿到EC2服务器每月720小时的使用时间有效记得是一年
A>.开通指定地区的EC2服务器[及其配置]
主页-->产品-->Amazon EC2-->[没申请免费的先申请免费已经免费的点开始使用]-->会主动进入EC2控制台
地区选择[欧洲(法兰克福)这是必须的]
启动实例-->[Amazon Linux 2 AMI (HVM), SSD Volume Type]-->总结一条找免费的-->直接点生成就完了[然后叫你设置秘钥对用来登录用的,直接创建新的起个名就完了下载下来]-->启动实例
转到控制台创建凭证 具体见链接-->[https://scrapoxy.readthedocs.io/en/master/standard/providers/awsec2/get_credentials/index.html]
转到控制台创建安全组 具体见链接-->[https://scrapoxy.readthedocs.io/en/master/standard/providers/awsec2/create_security_group/index.html]
ssh链接刚刚创建的事例中 链接方法 ssh -i 那个.pem的文件 [用户名]@[公有ip] ec2的默认用户名为 ec2-user [xshell链接自行百度]
例 ssh -i xxx.pem ec2-user@12.12.12.12
B>.安装那堆杂七杂八的东西
安装docker步骤
1、瞅一眼内核版本[要高于] 3.10
uname -r
2、一处旧版本docker
sudo yum remove docker docker-client ocker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-selinux docker-engine-selinux docker-engine
3、安装必要的系统工具
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
4、添加软件源信息
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
5、更新 yum 缓存
sudo yum makecache fast
6、查看可用版本
yum list docker-ce --showduplicates | sort -r
7、安装 Docker-ce[安装时99%报错下面有解决办法]
sudo yum install docker-ce-18.03.1.ce-1.el7.centos
解决办法
错误表象 Error: Package: containerd.io-1.2.6-3.3.el7.x86_64 (docker-ce-stable) Requires: container-selinux >= 2:2.74 Error: Package: 3:docker-ce-19.03.1-3.el7.x86_64 (docker-ce-stable) Requires: container-selinux >= 2:2.74解决步骤 下载container-selinux wget http://mirrors.atosworldline.com/public/centos/7/extras/x86_64/Packages/container-selinux-2.68-1.el7.noarch.rpm 安装container-selinux(使用–nodeps --force跳过依赖检查) sudo rpm -ivh container-selinux-2.68-1.el7.noarch.rpm --nodeps --force 重新执行第七步
8、启动并加入开机启动
sudo systemctl start dockersudo systemctl enable docker
9、验证是否安装成功
sudo docker info
C>.运行Scrapoxy容器[注意下面命令中的几个值]
sudo docker run -e COMMANDER_PASSWORD='登陆后台想要设置的密码' -e PROVIDERS_AWSEC2_ACCESSKEYID='刚刚获取的凭据id' -e PROVIDERS_AWSEC2_SECRETACCESSKEY='刚刚获取的凭据key' -it -p 8888:8888 -p 8889:8889 fabienvauchelles/scrapoxy
D>.收获果实的时刻
1、设置安全组
开启 8888和8889两个端口 在ES2控制台界面点选当前服务器-->下方描述-->安全组-->点击前方安全组名-->修改入站规则添加8888和8889两个端口[来源选任何地方]
2、打开浏览器输入服务器公有ip端口号为
公有ip:8889 这个是控制台的后台地址 密码是 刚设置的密码
3、scrapy使用的为
公有ip:8888
5、引用
scrapoxy官方文档网:https://scrapoxy.readthedocs.io/en/master/index.html