当前位置: 首页 > news >正文

免费软件下载网站免费软件下载网站进一步加强网站建设

免费软件下载网站免费软件下载网站,进一步加强网站建设,江苏定制网站建设费用,七牛图片处理 wordpress一、关于中间件 之前文章说过#xff0c;scrapy有两种中间件#xff1a;爬虫中间件和下载中间件#xff0c;他们的作用时间和位置都不一样#xff0c;具体区别如下#xff1a; 爬虫中间件#xff08;Spider Middleware#xff09; 作用#xff1a; 爬虫中间件主要负…一、关于中间件 之前文章说过scrapy有两种中间件爬虫中间件和下载中间件他们的作用时间和位置都不一样具体区别如下 爬虫中间件Spider Middleware 作用 爬虫中间件主要负责处理从引擎发送到爬虫的请求和从爬虫返回到引擎的响应。这些中间件在请求发送给爬虫之前或响应返回给引擎之前可以对它们进行处理。 下载中间件Downloader Middleware 作用 下载中间件主要负责处理引擎发送到下载器的请求和从下载器返回到引擎的响应。这些中间件在请求发送给下载器之前或响应返回给引擎之前可以对它们进行处理。 中间件作用优先级 只需要记住级别越小的越接近scrapy的引擎结合scrapy的数据流就能记住每个中间件的作用时机。 结合图可知 在下载中间件中 对于process_request()来说优先级数字越小越先被调用对于process_response()来说优先级数字越大越先被调用 在爬虫中间件中 对于process_spider_input()来说优先级数字越小越先被调用对于process_spider_output()来说优先级数字越大越先被调用 那么哪来的这些方法 二、定义中间件的通用模板 先看一个内置的中间件UserAgentMiddleware init: 在这里进行中间件的初始化可以使用 settings 对象获取配置信息from_crawler:在这里通过 crawler 对象创建中间件的实例可以获取全局配置信息spider_opened(可选): 在这里执行爬虫启动时的初始化操作例如打开文件、连接数据库等process_request(可选): 在这里对请求进行预处理例如修改请求头、添加代理等那么同理process_response(可选) 爬虫中间件模板 class MySpiderMiddleware(object):def __init__(self, settings):# 在这里进行中间件的初始化可以使用 settings 对象获取配置信息passclassmethoddef from_crawler(cls, crawler):# 在这里通过 crawler 对象创建中间件的实例可以获取全局配置信息settings crawler.settingsreturn cls(settings)def process_spider_input(self, response, spider):# 在这里处理从下载器传递给爬虫的响应对象return responsedef process_spider_output(self, response, result, spider):# 在这里处理爬虫生成的结果例如对结果进行过滤或修改return resultdef process_spider_exception(self, response, exception, spider):# 在这里处理爬虫产生的异常pass 下载中间件模板 class MyDownloaderMiddleware(object):def __init__(self, settings):# 在这里进行中间件的初始化可以使用 settings 对象获取配置信息passclassmethoddef from_crawler(cls, crawler):# 在这里通过 crawler 对象创建中间件的实例可以获取全局配置信息settings crawler.settingsreturn cls(settings)def process_request(self, request, spider):# 在这里对请求进行预处理例如修改请求头、添加代理等return None # 返回 None 表示继续处理请求或者返回一个新的请求对象def process_response(self, request, response, spider):# 在这里对响应进行处理例如修改响应内容、判断是否重新发送请求等return response # 返回响应对象或者返回一个新的响应对象def process_exception(self, request, exception, spider):# 在这里处理请求异常例如记录日志、发送通知等pass三、位置 我们自定义的中间件在middlewares.py中编写类就可以
http://www.zqtcl.cn/news/849609/

相关文章:

  • 濮阳网站建设哪里便宜html页面模板
  • 个人推广网站wordpress 交友模板
  • 新乡网站建设价格中国反钓鱼网站联盟
  • 在线工具网站网站建设公司ejiew
  • 个人搭建网站教程王牌网站做代理
  • 网站地图什么意思电子商务营销推广
  • 手机排行榜网站教育平台网站开发
  • 佛山市顺德区建设局网站萧山网站建设
  • 合肥百度团购网站建设怀化网站开发
  • 网站建设ppt模板彩票网站开发dadi163
  • 网站建设4435建筑设计一般用什么软件
  • 河南网站建设重庆森林台词
  • 网站一直没收录雄安做网站
  • 全国网站直播平台被摧毁响应是网站怎么做
  • 衡阳建设网站做网站和app多少费用
  • 怎么做付费网站蚌埠网站建设专业公司哪家好
  • 学网站建设需要多长时间成都网站建设定制开发服务
  • 建站宝盒后台深圳建网站公司怎么选择
  • 什么是大型门户网站网站建设的经验之谈
  • 网站建站网站设计网站制作书生
  • 租号网站是怎么做的wordpress 快讯功能
  • 口碑好的盐城网站建设wordpress课堂主题
  • 网站品牌打造wordpress插件有木马
  • 网站开发与软件研发有什么区别查网站域名备案查询系统
  • 硬盘做免费嗳暧视频网站黄冈免费网站推广平台汇总
  • node做网站怎么知道蜘蛛来过怎么学网站设计
  • 青海省建设厅网站公示公告简单建站
  • 手机网站用什么后台wordpress 百度蜘蛛
  • 网站文章伪原创怎么做手机网站 程序
  • 网站建设每月工作多少开发小程序的目的