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调用顺序的逻辑就直接在生成请求的地方进行设置即可。

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

 import urllib2
import urllib
import requests
url = 'http://baiduc.com/'
req = urllib2.Request(url=url)
req.set_proxy('12.24.23.111',9000)
response = urllib.urlopen(req, timeout=30)
print(response.msg)

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

最新文章

  1. 理解Docker(1):Docker 安装和基础用法
  2. JavaScript 常用函数总结
  3. 刨一刨内核container_of()的设计精髓
  4. VS2010中将当前选定项目做为启动项
  5. CSSOM视图模式(CSSOM View Module)相关整理(转载)
  6. jsPlumb 学习笔记
  7. 浏览器中打开IOS应用并传参
  8. centOS 一键php环境安装-php博弈
  9. LR使用
  10. java07循环结构
  11. 【HDU2122】Ice_cream’s world III(MST基础题)
  12. PCB電路板為何要有測試點?
  13. POPTEST学员就业面试题目!!!!!
  14. 你所不知道的 CSS 滤镜技巧与细节
  15. get和post提交数据的差别
  16. 32-改变eclipse默认的Tomcat部署路径
  17. 批量生成反色图片,用PHOTOSHOP批处理功能。
  18. git —— 分支冲突
  19. Java中的网络编程-3
  20. highcharts配置的效果如下

热门文章

  1. CSS 实现单行、多行文本溢出显示省略号
  2. ZendFramework-2.4 源代码 - 关于配置
  3. 15.VUE学习之-表单中使用key唯一令牌解决表单值混乱问题
  4. 51nod 1105 二分答案法标准题目
  5. 笔记-urllib-parse
  6. visual studio 2010 自带reporting报表本地加载的使用
  7. Spring Boot 学习系列(03)—jar or war,做出你的选择
  8. 【Jump Game II 】cpp
  9. 【BZOJ 3620】似乎在梦中见过的样子
  10. Python+Selenium练习篇之21-如何截图并保存