Scrapy框架使用代理IP要点是什么

技术Scrapy框架使用代理IP要点是什么Scrapy框架使用代理IP要点是什么,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。scrapy框架通过模块化

在Scrapy框架中使用代理IP的要点是什么?针对这个问题,本文详细介绍了相应的分析和解决方法,希望能帮助更多想要解决这个问题的小伙伴找到更简单易行的方法。

Scrapy框架通过模块化设计实现了数据采集的通用功能接口,并提供自定义扩展。它将程序员从繁琐的基于流程的重复工作中解放出来,为程序员提供了灵活简单的基础设施。对于普通的网页数据采集,程序员只需要专注于网站数据分析和网站防爬策略分析。结合代理IP的使用,可以高效快速地启动项目。

主要特点包括:

1)参数化并发请求的数量,并自动和异步执行它们。

2)支持xpath,简洁高效。

3)支持定制中间件中间件。

4)支持收藏来源列表。

5)支持独立调试,方便shell模式。

6)支持数据管道接口的定义。用户可以选择文字、数据库等方式。

在scratch框架中使用代理有几种方法:

1.scrapy中间件

创建一个新的middlewares.py文件(。/project name/middleware . py),内容如下:

#!-*- encoding:utf-8 -*-

importbase64

importsys

导入随机

PY3=sys.version_info[0]=3

defbase 64 ify(bytes _ or _ str):

ifpy3 ndisininstance(bytes _ or _ str,str):

input _ bytes=bytes _ or _ str . encode(‘ utf8 ‘)

else:

输入字节=字节或字符串

output _ bytes=base64 . URL safe _ b64 encode(input _ bytes)

ifPY3:

returnoutput _ bytes . decode(‘ ascii ‘)

else:

返回输出字节数

classProxyMiddleware(对象):

defprocess_request(自我、请求、蜘蛛):

#代理服务器(产品官网www.16yun.cn)。

proxyHost=’t.16yun.cn ‘

proxyPort=’31111 ‘

#代理身份验证信息

代理用户=’用户名’

proxyPass=’密码’

request . meta[‘ proxy ‘]=’ http://{ 0 } : { 1 } ‘。格式(代理服务器、代理端口)

#添加身份验证标头。

encoded _ user _ pass=base64 ify(proxy user ‘ : ‘ proxy pass)

request . header[‘ Proxy-Authorization ‘]=’ Basic ‘ encoded _ user _ pass

#设置IP交换机报头(根据需要)。

隧道=random.randint(1,10000)

request . header[‘ Proxy-Tunnel ‘]=str(Tunnel)

修改项目配置文件(。/项目名称/settings.py)。

DOWNLOADER _ MIDDLEWARES={

项目名称。中间件:代理中间件’ :100,

}

2.scrapy环境变量

通过设置环境变量来使用爬网程序代理(窗口)。

c : \ set http _ proxy=http://username : password @ IP : port

关于在Scrapy框架中使用代理IP的关键点是什么的答案,我希望在这里分享。

内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/54429.html

(0)

相关推荐

  • mysql索引最快的方法(mysql索引优化的几种方法)

    技术如何使MySQL的索引更高效这篇文章主要介绍如何使MySQL的索引更高效,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!MySQL中的索引MySQL中的InnoDB引擎使用B+Tree结构来存储

    攻略 2021年12月20日
  • 如何理解Java设计模式的桥接模式

    技术如何理解Java设计模式的桥接模式这篇文章主要讲解了“如何理解Java设计模式的桥接模式”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何理解Java设计模式的桥接模

    攻略 2021年11月8日
  • Python怎么爬取当当网APP数据

    技术Python怎么爬取当当网APP数据本篇文章给大家分享的是有关Python怎么爬取当当网APP数据,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。目标场景

    攻略 2021年10月26日
  • Redis的java客户端Jedis的代码怎么写

    技术Redis的java客户端Jedis的代码怎么写这篇文章将为大家详细讲解有关Redis的java客户端Jedis的代码怎么写,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了

    攻略 2021年10月20日
  • c++面试题(c++和Python哪个好)

    技术如何进行C++模板显式具体化的分析如何进行C++模板显式具体化的分析,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。模板函数虽然非常好用,但是也存在一些问

    攻略 2021年12月18日
  • css3标准是在哪年完成的

    技术css3标准是在哪年完成的本篇内容介绍了“css3标准是在哪年完成的”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

    攻略 2021年12月11日