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

通辽做网站有没有谷歌搜索入口中文

通辽做网站有没有,谷歌搜索入口中文,邢台市人事考试网,郑州网络公司做医疗网站一、关于中间件 之前文章说过,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.tj-hxxt.cn/news/100549.html

相关文章:

  • 济南传承网站建设公司搜索图片
  • 去除wordpress主题底部信息seo基础教程
  • 新闻网站建设毕业设计长沙seo步骤
  • 网站语音转写怎么做宁波网站推广优化哪家正规
  • 怎么做阿里国际网站的数据分析百度霸屏全网推广
  • 品牌建设网站公司排名今晚日本比分预测
  • 网站建设 网站制作 网站设计市场调研报告ppt
  • 江山建设工程信息网站引流客户的最快方法是什么
  • 在线制作图片的网站沈阳网站关键字优化
  • 山东新增5个高风险地区seo查询软件
  • 接单做网站的网络舆情分析
  • 综合b2b的代表网站有哪些求职seo
  • 外贸网站免费建设张家界seo
  • 龙岗网站建设 信科网络百度推广登陆后台
  • 美国做科普的网站可口可乐网络营销案例
  • 武汉大型网站开发淘宝seo排名优化软件
  • 晋州住房保障建设局网站电商如何从零做起
  • 常见的网站布局结构网站建设苏州
  • 蘑菇街的网站建设品牌营销策划十大要点
  • 济南网站建设公司排名国际新闻最新消息美国
  • 威县做网站哪儿便宜推广怎么做
  • 请问大连谁家做网站如何用手机创建网站
  • 网站建设SEO优化营口建网站的公司
  • 网站建设这个工作怎么样目前最新的营销模式有哪些
  • 高端集团官方网站建设公司攀枝花网站seo
  • 福田网站建设哪家好如何使用网络营销策略
  • 广州做贷款有什么网站aso是什么意思
  • 网站建设方案书 icp备案2024最火的十大新闻
  • 重庆做网站的程序员待遇聊城优化seo
  • 荆州网站建设厂家西安今天出大事