python3 Scrapy爬虫框架ip代理配置的方法


Posted in Python onJanuary 17, 2020

什么是Scrapy?

Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架,非常出名,非常强悍。所谓的框架就是一个已经被集成了各种功能(高性能异步下载,队列,分布式,解析,持久化等)的具有很强通用性的项目模板。对于框架的学习,重点是要学习其框架的特性、各个功能的用法即可。

一、背景

     在做爬虫项目的过程中遇到ip代理的问题,网上搜了一些,要么是用阿里云的ip代理,要么是搜一些网上现有的ip资源,然后配置在setting文件中。这两个方法都存在一些问题。

1、阿里云ip代理方法,网上大都是配置阿里云的ip代理的用户名、密码然后加密、解密。我按照上面的方面操作,发现阿里云上面的ip代理的参数里面没有用户名、密码相关的参数配置了。

python3 Scrapy爬虫框架ip代理配置的方法

2、至于网上查到的另外一种方法是在setting文件里面添加代理IP资源池,然后再在middlewares.py文件里面添加上一些代码来实现,但代理ip不一定是可用的。

二、改进方法

1、基于背景中提到的网上两种方法的局限性,我在此综合了两种方法。

2、改进方法:

1)利用阿里云的ip代理API生成50个代理IP资源池(用自己的阿里云账号登陆生成的,ip有效性得到保障)

2)直接在middlewares.py中添加如下函数,PROXIES为在阿里云上面生成的ip,此处涉及到个人隐私,故用****代替。

class my_proxy(object):
  def process_request(self, request, spider):
    PROXIES = ['http://****.****.****.****:8080']
    ip = random.choice(PROXIES)
    request.meta['Proxy-Authorization'] = ip

注意:request.meta的方括号里面的关键字需要写对,不然无法正常运行。

总结

以上所述是小编给大家介绍的python3 Scrapy爬虫框架ip代理配置的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Python 相关文章推荐
MySQL最常见的操作语句小结
May 07 Python
使用Python的Flask框架构建大型Web应用程序的结构示例
Jun 04 Python
python文本数据相似度的度量
Mar 12 Python
Python3.5.3下配置opencv3.2.0的操作方法
Apr 02 Python
Python Matplotlib实现三维数据的散点图绘制
Mar 19 Python
Python 实现遥感影像波段组合的示例代码
Aug 04 Python
ubuntu上安装python的实例方法
Sep 30 Python
Python.append()与Python.expand()用法详解
Dec 18 Python
Python如何使用bokeh包和geojson数据绘制地图
Mar 21 Python
解决reload(sys)后print失效的问题
Apr 25 Python
Python+OpenCV图像处理——打印图片属性、设置存储路径、调用摄像头
Oct 22 Python
python中tkinter复选框使用操作
Nov 11 Python
Python计算机视觉里的IOU计算实例
Jan 17 #Python
python实现百度OCR图片识别过程解析
Jan 17 #Python
Python实现图像的垂直投影示例
Jan 17 #Python
基于python实现语音录入识别代码实例
Jan 17 #Python
Python操作MySQL数据库实例详解【安装、连接、增删改查等】
Jan 17 #Python
python实现高斯投影正反算方式
Jan 17 #Python
python中图像通道分离与合并实例
Jan 17 #Python
You might like
学习php设计模式 php实现享元模式(flyweight)
2015/12/07 PHP
Yii2中设置与获取别名的函数(setAlias和getAlias)用法分析
2016/07/25 PHP
PHP数据分析引擎计算余弦相似度算法示例
2017/08/08 PHP
CL vs ForZe BO5 第五场 2.13
2021/03/10 DOTA
关于js datetime的那点事
2011/11/15 Javascript
jQuery实现的分子运动小球碰撞效果
2016/01/27 Javascript
实例讲解jquery中mouseleave和mouseout的区别
2016/02/17 Javascript
bootstrap读书笔记之CSS组件(上)
2016/10/17 Javascript
使用jquery.qrcode.js生成二维码插件
2016/10/17 Javascript
详解JavaScript的BUG和错误
2018/05/07 Javascript
Node.js命令行/批处理中如何更改Linux用户密码浅析
2018/07/22 Javascript
微信小程序获取用户信息并保存登录状态详解
2019/05/10 Javascript
通过jQuery学习js类型判断的技巧
2019/05/27 jQuery
浅谈layui 绑定form submit提交表单的注意事项
2019/10/25 Javascript
微信小程序实现菜单左右联动
2020/05/19 Javascript
python3访问sina首页中文的处理方法
2014/02/24 Python
Python从Excel中读取日期一列的方法
2018/11/28 Python
对Python中DataFrame选择某列值为XX的行实例详解
2019/01/29 Python
人工神经网络算法知识点总结
2019/06/11 Python
python绘图模块matplotlib示例详解
2019/07/26 Python
python实现邮件自动发送
2019/08/10 Python
python实现单张图像拼接与批量图片拼接
2020/03/23 Python
Django def clean()函数对表单中的数据进行验证操作
2020/07/09 Python
Python 开发工具通过 agent 代理使用的方法
2020/09/27 Python
巴西图书和电子产品购物网站:Saraiva
2017/06/07 全球购物
碧欧泉法国官网:Biotherm法国
2019/10/23 全球购物
个人自荐书
2013/12/20 职场文书
政法大学毕业生自荐信范文
2014/01/01 职场文书
秸秆管理实施方案
2014/03/15 职场文书
葛优非诚勿扰搞笑征婚台词
2014/03/17 职场文书
小学生操行评语大全
2014/04/22 职场文书
气象学专业个人求职信
2014/04/22 职场文书
2014感恩节演讲稿大全
2014/10/11 职场文书
事业单位年度考核评语
2014/12/31 职场文书
二审答辩状范文
2015/05/22 职场文书
法定代表人免职证明
2015/06/24 职场文书