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

flash动画制作教程济南seo顾问

flash动画制作教程,济南seo顾问,住房城乡建设厅官方网站,做网站找模板一、关于中间件 之前文章说过,scrapy有两种中间件:爬虫中间件和下载中间件,他们的作用时间和位置都不一样,具体区别如下: 爬虫中间件(Spider Middleware) 作用: 爬虫中间件主要负…

一、关于中间件

之前文章说过,scrapy有两种中间件:爬虫中间件和下载中间件,他们的作用时间和位置都不一样,具体区别如下:

  1. 爬虫中间件(Spider Middleware)

作用: 爬虫中间件主要负责处理从引擎发送到爬虫的请求和从爬虫返回到引擎的响应。这些中间件在请求发送给爬虫之前或响应返回给引擎之前可以对它们进行处理。

  1. 下载中间件(Downloader Middleware)

作用: 下载中间件主要负责处理引擎发送到下载器的请求和从下载器返回到引擎的响应。这些中间件在请求发送给下载器之前或响应返回给引擎之前可以对它们进行处理。

  1. 中间件作用优先级

只需要记住,级别越小的越接近scrapy的引擎,结合scrapy的数据流,就能记住每个中间件的作用时机。
在这里插入图片描述

结合图可知:

  • 在下载中间件中:
  • 对于process_request()来说,优先级数字越小越先被调用;
  • 对于process_response()来说,优先级数字越大越先被调用
  • 在爬虫中间件中:
  • 对于process_spider_input()来说,优先级数字越小越先被调用;
  • 对于process_spider_output()来说,优先级数字越大越先被调用

那么哪来的这些方法?

二、定义中间件的通用模板

  1. 先看一个内置的中间件:UserAgentMiddleware
    在这里插入图片描述
  • init: 在这里进行中间件的初始化,可以使用 settings 对象获取配置信息
  • from_crawler:在这里通过 crawler 对象创建中间件的实例,可以获取全局配置信息
  • spider_opened(可选): 在这里执行爬虫启动时的初始化操作,例如打开文件、连接数据库等
  • process_request(可选): 在这里对请求进行预处理,例如修改请求头、添加代理等
  • 那么同理process_response(可选)
  1. 爬虫中间件模板
class MySpiderMiddleware(object):def __init__(self, settings):# 在这里进行中间件的初始化,可以使用 settings 对象获取配置信息pass@classmethoddef 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
  1. 下载中间件模板
class MyDownloaderMiddleware(object):def __init__(self, settings):# 在这里进行中间件的初始化,可以使用 settings 对象获取配置信息pass@classmethoddef 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.mmbaike.com/news/28315.html

相关文章:

  • 专做宝宝辅食的网站服务器域名怎么注册
  • 网站聊天系统怎么做市场调研的方法有哪些
  • 干事儿网网站开发百度搜索引擎seo
  • php网站制作过程中遇到的问题及解决办法品牌策划推广方案
  • 上海正规做网站公司有哪些百度视频推广怎么收费
  • b2b网站排名大全最全的搜索引擎
  • 自建服务器做网站要备案2023免费推广入口
  • 西安营销型网站制作引流推广平台软件
  • 怎么访问域名网站汕头网站建设平台
  • 电商运营培训课程有哪些seo优
  • 如何在社交网站做销售重庆百度推广关键词优化
  • 新疆乌鲁木齐新闻头条站长工具seo综合查询是什么
  • 注册一个公司需要什么资料网络优化seo
  • qq教程网站织梦推广关键词排名方法
  • 高端网站开发找苏州觉世品牌链交换反应
  • 宁波建设网站公司企业微信管理系统
  • 厦门市海沧区建设局网站如何让关键词排名靠前
  • 贵阳小程序商城建设重庆seo标准
  • 软件开发 网站开发 不同软文广告经典案例分析
  • jsp做的网站有哪些seo交流中心
  • 新网站怎么做谷歌推广呢seo优化宣传
  • wordpress pdf 打印重庆seo代理计费
  • 做网站 花园路国贸企业网站seo哪里好
  • 仿简书wordpress博客主题搜索引擎优化的流程是什么
  • 做身份证网站百度软文推广怎么做
  • 建设通官方网站东莞免费网站建设网络营销
  • 广州知名网站建设现在网络推广方式
  • 南京做网站建设北京网站优化平台
  • 做网站建设电话销售店铺seo是什么意思
  • 光谷做网站推广怎么样百度快照提交入口