Scrapy笔记:使用代理ip

scrapy框架使用代理ip的基本思路是修改请求对象中的meta['proxy']的值,将代理ip赋值给这个属性。遵循这个思路,只要是生成Request对象的地方都可以设置Request的值。

  downloader中间件

  spider中间件

  spider内部对象定义的内部parse函数和parse_start_url()等

其中最方便的是在downloadermiddleware中使用

只要在request中加入下面的设置就可以实现代理ip访问资源,当然前提是这个代理ip可用以及满足可以使用协议:

  request.meta['proxy'] = 'http://%s:%d'%('110.73.10.242', 8123)

至于其它像读取ip、ip调用顺序的逻辑就直接在生成请求的地方进行设置即可。

 

相关的内容:使用通用库进行网络爬取的方式

1 import urllib2
2 import urllib
3 import requests
4 url = 'http://baiduc.com/'
5 req = urllib2.Request(url=url)
6 req.set_proxy('12.24.23.111',9000)
7 response = urllib.urlopen(req, timeout=30)
8 print(response.msg)

都是通过在请求上设置代理来达到目的。

 

posted @ 2017-05-10 21:45  zhangjpn  阅读(448)  评论(0编辑  收藏  举报