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 相关文章推荐
Python升级提示Tkinter模块找不到的解决方法
Aug 22 Python
python里大整数相乘相关技巧指南
Sep 12 Python
六个窍门助你提高Python运行效率
Jun 09 Python
python字符串的方法与操作大全
Jan 30 Python
Python入门学习指南分享
Apr 11 Python
好的Python培训机构应该具备哪些条件
May 23 Python
Python设计模式之模板方法模式实例详解
Jan 17 Python
通过字符串导入 Python 模块的方法详解
Oct 27 Python
python实现两个字典合并,两个list合并
Dec 02 Python
6行Python代码实现进度条效果(Progress、tqdm、alive-progress​​​​​​​和PySimpleGUI库)
Jan 06 Python
keras model.fit 解决validation_spilt=num 的问题
Jun 19 Python
详解使用scrapy进行模拟登陆三种方式
Feb 21 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统计二维数组元素个数的方法
2013/11/12 PHP
php中base_convert()进制数字转换函数实例
2014/11/20 PHP
PHP基于MySQL数据库实现对象持久层的方法
2015/06/17 PHP
PHP将二维数组某一个字段相同的数组合并起来的方法
2016/02/26 PHP
PHP函数nl2br()与自定义函数nl2p()换行用法分析
2016/04/02 PHP
使用IE的地址栏来辅助调试Web页脚本
2007/03/08 Javascript
jquery序列化表单以及回调函数的使用示例
2014/07/02 Javascript
jQuery表格插件datatables用法汇总
2016/03/29 Javascript
Window.Open打开窗体和if嵌套代码
2016/04/15 Javascript
js组件SlotMachine实现图片切换效果制作抽奖系统
2016/04/17 Javascript
jQuery双向列表选择器select版
2016/11/01 Javascript
jQuery操作之效果详解
2017/05/19 jQuery
基于JS对象创建常用方式及原理分析
2017/06/28 Javascript
Vue实现一个返回顶部backToTop组件
2017/07/25 Javascript
JavaScript实现的斑马线表格效果【隔行变色】
2017/09/18 Javascript
详解redis在nodejs中的应用
2018/05/02 NodeJs
详解JavaScript中的Object.is()与"==="运算符总结
2020/06/17 Javascript
python3抓取中文网页的方法
2015/07/28 Python
python中numpy.zeros(np.zeros)的使用方法
2017/11/07 Python
selenium+python 对输入框的输入处理方法
2018/10/11 Python
Python类和实例的属性机制原理详解
2020/03/21 Python
PyCharm配置anaconda环境的步骤详解
2020/07/31 Python
番木瓜健康和保健产品第一大制造商:Herbal Papaya
2017/04/25 全球购物
Top Villas美国:豪华别墅出租和度假屋
2018/07/10 全球购物
英国女性运动服品牌:Sweaty Betty
2018/11/08 全球购物
澳洲最大的时尚奢侈品电商平台:Cettire
2020/06/15 全球购物
俄罗斯商务邀请函
2014/01/26 职场文书
协议书模板
2014/04/23 职场文书
群众路线教育实践活动自我剖析思想汇报
2014/10/04 职场文书
个人年底工作总结
2015/03/10 职场文书
教师求职自荐信
2015/03/26 职场文书
爱岗敬业先进典型事迹材料(2016推荐版)
2016/02/26 职场文书
2016年社区六一儿童节活动总结
2016/04/06 职场文书
导游词之云南丽江-泸沽湖
2019/09/26 职场文书
微信小程序实现拍照和相册选取图片
2021/05/09 Javascript
Python办公自动化之教你如何用Python将任意文件转为PDF格式
2021/06/28 Python