欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

爬虫前奏——代理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信息,如图

爬虫前奏——代理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不稳定而导致错误的发生,毕竟免费的总是要出问题的。
以上内容有本人编写,如有转载请标明出处