Python爬虫如何设置代理


本文摘自php中文网,作者爱喝马黛茶的安东尼,侵删。

一些网站会有相应的反爬虫措施,例如很多网站会检测某一段时间某个IP的访问次数,如果访问频率太快以至于看起来不像正常访客,它可能就会会禁止这个IP的访问。所以我们需要设置一些代理服务器,每隔一段时间换一个代理,就算IP被禁止,依然可以换个IP继续爬取。

在Python中,可以使用urllib2中的ProxyHandler来设置使用代理服务器,下面通过代码说明如何来使用代理:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

import urllib2

# 构建了两个代理Handler,一个有代理IP,一个没有代理IP

httpproxy_handler = urllib2.ProxyHandler({"http" : "124.88.67.81:80"})

nullproxy_handler = urllib2.ProxyHandler({})

#定义一个代理开关

proxySwitch = True

# 通过 urllib2.build_opener()方法使用这些代理Handler对象,创建自定义opener对象

# 根据代理开关是否打开,使用不同的代理模式

if proxySwitch: 

    opener = urllib2.build_opener(httpproxy_handler)

else:

    opener = urllib2.build_opener(nullproxy_handler)

request = urllib2.Request("http://www.baidu.com/")

# 使用opener.open()方法发送请求才使用自定义的代理,而urlopen()则不使用自定义代理。

response = opener.open(request)

# 就是将opener应用到全局,之后所有的,不管是opener.open()还是urlopen() 发送请求,都将使用自定义代理。

# urllib2.install_opener(opener)

# response = urlopen(request)

print response.read()

上面使用的是免费的开放代理,我们可以在一些代理网站上收集这些免费代理,测试后如果可以用,就把它收集起来用在爬虫上面。

相关推荐:《python视频教程》

免费代理网站:

西刺免费代理

快代理免费代理

全国代理ip

如果你有足够多的代理,可以放在一个列表中,随机选择一个代理去访问网站。如下:

阅读剩余部分

相关阅读 >>

django中数据库设置的详细介绍(代码示例)

Python如何实现注册登录系统的实例详解

Python放射的代码实现

Python未来会进课本么

pandas技巧之 详解dataframe中的apply与applymap方法

Python中单下划线和双下划线有什么区别

Python字典的操作总结(附示例)

Python初学者应该了解的知识

Python中type()是什么意思

Python人工智能是什么意思

更多相关阅读请进入《Python》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...