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实现TF-IDF算法解析
Jan 02 Python
基于Django框架利用Ajax实现点赞功能实例代码
Aug 19 Python
Python 从列表中取值和取索引的方法
Dec 25 Python
Pandas读取并修改excel的示例代码
Feb 17 Python
浅谈Python基础—判断和循环
Mar 22 Python
Python中的字符串切片(截取字符串)的详解
May 15 Python
python selenium登录豆瓣网过程解析
Aug 10 Python
Python发送邮件封装实现过程详解
May 09 Python
Django+Uwsgi+Nginx如何实现生产环境部署
Jul 31 Python
python3 中使用urllib问题以及urllib详解
Aug 03 Python
python如何设置静态变量
Sep 07 Python
python 如何使用find和find_all爬虫、找文本的实现
Oct 16 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
使用Apache的rewrite技术
2006/06/22 PHP
phpBB BBcode处理的漏洞
2006/10/09 PHP
PHP使用CURL获取302跳转后的地址实例
2014/05/04 PHP
PHP处理Ajax请求与Ajax跨域问题
2017/02/13 PHP
laravel框架中控制器的创建和使用方法分析
2019/11/23 PHP
jQuery的一些注意
2006/12/06 Javascript
JavaScript 对Cookie 操作的封装小结
2009/12/31 Javascript
js 蒙版进度条(结合图片)
2010/03/10 Javascript
JQuery 图片的展开和伸缩实例讲解
2013/04/18 Javascript
js获取某月的最后一天日期的简单实例
2013/06/22 Javascript
js打造数组转json函数
2015/01/14 Javascript
JavaScript拖拽、碰撞、重力及弹性运动实例分析
2016/01/08 Javascript
JS深度拷贝Object Array实例分析
2016/03/31 Javascript
微信小程序 特效菜单抽屉效果实例代码
2017/01/11 Javascript
在一个页面实现两个zTree联动的方法
2017/12/20 Javascript
vue translate peoject实现在线翻译功能【新手必看】
2018/06/07 Javascript
Angular6中使用Swiper的方法示例
2018/07/09 Javascript
vue与原生app的对接交互的方法(混合开发)
2018/11/28 Javascript
vue cli4.0项目引入typescript的方法
2020/07/17 Javascript
如何通过vscode运行调试javascript代码
2020/07/24 Javascript
[01:08:57]2014 DOTA2国际邀请赛中国区预选赛 5 23 CIS VS LGD第二场
2014/05/24 DOTA
详解Python的Django框架中的中间件
2015/07/24 Python
Python中format()格式输出全解
2019/04/12 Python
Python 一键获取百度网盘提取码的方法
2019/08/01 Python
python词云库wordcloud的使用方法与实例详解
2020/02/17 Python
python数据预处理 :样本分布不均的解决(过采样和欠采样)
2020/02/29 Python
python3 xpath和requests应用详解
2020/03/06 Python
Mountain Warehouse澳大利亚官网:欧洲家庭户外品牌倡导者
2016/11/20 全球购物
申报职称专业技术个人的自我评价
2013/12/12 职场文书
自荐书范文范例
2014/02/13 职场文书
婚前协议书
2014/04/15 职场文书
《夹竹桃》教学反思
2014/04/20 职场文书
党支部换届选举方案
2014/05/08 职场文书
个人年终总结结尾
2015/03/06 职场文书
2015个人简历自我评价语
2015/03/11 职场文书
一文读懂go中semaphore(信号量)源码
2021/04/03 Golang