从西刺代理获取ip,筛选出可用的ip,保存到本地,以备使用.用做demo演示 #request_proxy.py http://httpbin.org/get 访问这个网站,会返回有意思的数据 类似于这样
{ "args": {}, "headers": { "Accept": "/", "Accept-Encoding": "gzip, deflate", "Host": "httpbin.org", "User-Agent": "python-requests/2.21.0" }, "origin": "103.254.71.70, 103.254.71.70", "url": "https://httpbin.org/get" }
"origin": "103.254.71.70, 103.254.71.70", 这个会显示你的ip地址以及你的代理ip地址
我们可以通过访问这个网址来筛选一些可以用于访问此网站的ip地址
#名词解释:
target_url:目标网址
vip:可用的ip
访问西刺服务器https://www.xicidaili.com/ 是需要添加user-agent的,否则会返回503错误(它这个返回码是瞎写的)
具体更加详细的细节请看代码中的注释
文件的版本后边的数字代表着版本,前边的是技术铺垫,
后边的会比前面的功能更完善
这样一个代理还远远不能满足实际量产的工业需求
对于个人从网上爬点数据,学点原理性的东西是可以的
如果要扩展成工业级的项目: 还应该从以下方面进行优化:
1 有专门的模块进行 代理ip 是否可用的测试,每隔一段时间就要检查一下 检查策略是怎样的?
2 要同时提供大量的可用ip,数量上还不够,这样还会导致某些ip可能访问频次过高 而被目标网站封杀
3 做成一个专门的服务器提供可用ip,对于一个目标网站提供可用ip,--->
对于多个目标网站提供可用ip. 4 对于ip的管理,我放在哪里? 数据库,对于海量ip我进行高速读取, 我是否使用Redis?
5 等等,看需求....