爬虫前奏——代理ip的使用
程序员文章站
2022-06-19 10:49:35
如果同一个IP短时间内多次访问统一网页,可能会被系统识别出是爬虫,因此使用代理IP可以很大程度上解决这一问题 常用的代理有: 西刺免费代理:www.xicidaili.com 快代理:www.kuaidaili.com 代理云:www.dailiyun.com 那么我们如何知道自己的代理IP是否已经 ......
如果同一个ip短时间内多次访问统一网页,可能会被系统识别出是爬虫,因此使用代理ip可以很大程度上解决这一问题
常用的代理有:
西刺免费代理:www.xicidaili.com
快代理:www.kuaidaili.com
代理云:www.dailiyun.com
那么我们如何知道自己的代理ip是否已经成功使用了呢?
很简单www.httpbin.org为我们提供了这个功能。www.http.org上可以看到我们访问网站所有提交的信息,在www.httpbin.org/ip上可以看到我们所需要的ip信息,如图
那么我们开始
我们使用以下免费代理
编写代码如下
from urllib import request #没有使用代理 url='http://www.httpbin.org/ip' resp = request.urlopen(url) print(resp.read()) #使用代理的 url='http://www.httpbin.org/ip' # 1.使用proxyhandler,传入代理构建一个handler headler = request.proxyhandler({'http':'223.244.45.134:65309'}) # 2. 使用上面构建的handler构建一个opner opner = request.build_opener(headler) # 3. 使用opener去发送一个请求 resp = opner.open(url) print(resp.read())
需要导入urllib下的request库这是python自带的
headler = request.proxyhandler({'http':'223.244.45.134:65309'})
需要注意的是proxyhandler()参数由字典组成:http 与 ip地址均由上面的服务商提供,“65309”为开放的端口号。
运行得到以下结果
b'{\n "origin": "124.160.219.5"\n}\n' b'{\n "origin": "36.6.92.28"\n}\n'
说明我的代理ip使用成功了 注意:有可能因为免费的代理ip不稳定而导致错误的发生,毕竟免费的总是要出问题的。
以上内容有本人编写,如有转载请标明出处
上一篇: Vuex数据持久化实现的思路与代码
下一篇: 我绕路就能多收她20块钱