在应用爬虫的时候我们经常会遇到ip被封的情况,这样我们想要的数据就不能及时下载下来,那么怎么办呢?当然是使用代理ip了,下面来看看scrapy中怎么使用代理ip。
一、开放代理

import random
class IpProxyDownloadMiddleware(object):'''定义代理ip的类,这是开放代理的应用'''PROXIES = ['182.111.64.8:53364']def process_request(self, request, spider):proxy = random.choice(self.PROXIES)request.meta['proxy'] = proxy

二、使用独享代理

import base64class IpProxyDownloadMiddleware(object):'''独享代理ip的应用方法,需要解码'''def process_request(self, request, spider):proxy = 'ip:端口'user_password = '用户名:密码'request.meta['proxy'] = proxyb64_user_password = base64.b64encode(user_password.encode('utf-8'))request.headers['Proxy-Authorization'] = 'Basic' + b64_user_password.decode('utf-8')

以上所有的代码都在middlewares.py中应用,然后在settings.py里面调用相应的类就可以了。

三、scrapy代码:

import scrapy
import jsonclass IpSpiderSpider(scrapy.Spider):name = 'ip_spider'allowed_domains = ['http_bin.org']start_urls = ['http://http_bin.org/ip']def parse(self, response):origin = json.loads(response.text)['origin']print('=='*20)print(origin)print('=='*20)yield scrapy.Request(self.start_urls[0],dont_filter=True)

然后启动scrapy就可以了,打印出的结果就是已经更改的ip

Scrapy爬虫设置代理ip相关推荐

  1. python爬虫设置代理ip池

    在使用python爬虫的时候,经常会遇见所要爬取的网站采取了反爬取技术,高强度.高效率地爬取网页信息常常会给网站服务器带来巨大压力,所以同一个IP反复爬取同一个网页,就很可能被封,那如何解决呢?使用代 ...

  2. python爬虫设置代理ip池——方法(一)

    """ 在使用python爬虫的时候,经常会遇见所要爬取的网站采取了反爬取技术,高强度.高效率地爬取网页信息常常会给网站服务器带来巨大压力,所以同一个IP反复爬取同一个网 ...

  3. Scrapy爬虫:代理IP配置

    Scrapy设置代理IP步骤: 1.在Scrapy工程下新建"middlewares.py": import base64 # Start your middleware clas ...

  4. python进行爬虫设置代理ip之后不知道是否已经启用代理ip

    设置代理ip: 根据每个代理平台的格式不同,代理设置的方式也不尽一致,这里进行演示芝麻代理的配置: def ip_get():url = '形成的代理的链接'ip_list_con = request ...

  5. 用scrapy爬虫设置了ip代理报错是怎么回事

    那么遇到这种情况大家也不用慌,我们可以采取以下措施: 1.放慢爬取速度,减少对于目标网站带来的压力,但会减少单位时间类的爬取量.测试出网站设置的限制速度阈值,设置合理的访问速度. 2.时间间隔访问,对 ...

  6. python爬虫使用代理ip_python爬虫如何设置代理ip

    python爬虫设置代理ip的方法:首先写入获取到的ip地址到proxy:然后用百度检测ip代理是否成功,并请求网页传的参数:最后发送get请求,并获取返回页面保存到本地. [相关学习推荐:pytho ...

  7. 在Scrapy中使用爬虫动态代理IP

    本文介绍如何在Scrapy中使用无忧代理(www.data5u.com)的爬虫动态代理IP,以及如何设置User-Agent. 动态转发参考https://blog.csdn.net/u0109787 ...

  8. Requests 和 Scrapy 中的代理 IP 设置

    摘要: Requests 和 Scrapy 中的代理 IP 设置方法. 目标测试网页如下,请求该网页可以返回当前 IP 地址: ∞ http://icanhazip.com 先来说说 Requests ...

  9. 【python爬虫】在scrapy中利用代理IP(爬取BOSS直聘网)

    同学们好,我又滚回来更新了,这一次我们要爬取的目标是BOSS直聘,BOSS直聘可以说是反爬虫一个很好的例子了,主要在于如果你访问他的次数过多,他就会出现验证码,要求你通过验证才能继续看,这样还算可以, ...

最新文章

  1. mac 4k分辨率 字太小 27寸 hidpi_4K,就在眼前!视网膜级桌面显示器AOC U2790PQU评测报告...
  2. 11步教你选择最稳定的MySQL版本
  3. C# Soap调WebService
  4. linux内核启动后门,Linux下编写隐蔽的自启动回连后门
  5. html中name和id的区别 [ZT]
  6. unable to access ‘https://github.com/***.git‘: OpenSSL SSL_read: Connection was reset, errno 10054
  7. android 可行性分析,可行性研究项目分析程序与步骤
  8. SSD(based on Caffe)环境配置
  9. 苹果证实将弃用Windows版QuickTime
  10. python文件处理——文本文件
  11. PLSQL Developer安装破解 ,以及连接配置
  12. mysql 怎样更新数据库_MySQL数据库更新语句update使用详解
  13. js 判断是企业微信或微信
  14. python正则表达式提取电话号码_用于提取电话号码的正则表达式
  15. poj 1755 Triathlon (半平面交解一元二次不等式)(切割求半平面交)
  16. 半监督语义分割_paper reading part2
  17. phonegap 微信登录总结
  18. docker安装mysql并挂载配置文件和修改密码
  19. 视频人像抠图论文阅读
  20. 华为P30、P30pro亲手体验,最新壁纸大曝光!

热门文章

  1. 科一考试要注意什么?
  2. Excel测试多个链接的简易方式
  3. Python 上下文管理器和with块 二
  4. FCK上传图片问题解决
  5. 919 完全二叉树插入器
  6. [SDK]Unity接入Sign in with Apple
  7. 阿里巴巴编码规范(Java)
  8. JS数组的slice()方法传负数和字符串操作函数中的slice()、substr()、substring()
  9. 18. 地下城与勇士
  10. 2019年04月01日_拔剑-浆糊的传说_新浪博客