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

天河商城网站建设网络广告营销经典案例

天河商城网站建设,网络广告营销经典案例,计算机应用技术ui设计是什么,家用宽带做网站一、关于中间件 之前文章说过,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.hengruixuexiao.com/news/30688.html

相关文章:

  • 没有充值入口的传奇手游淘宝客seo推广教程
  • 那些语言可以做动态网站网站做优化好还是推广好
  • 晋城 网站建设友链交换网站
  • 帮建网站网站推广app
  • 信息型网站有哪些百度云引擎搜索
  • 网站项目报价单模板免费下载最近几天的重大新闻事件
  • 苏州做网站公司乛 苏州聚尚网络网络营销的发展趋势
  • 郑州做网站推广电话百度热议排名软件
  • 厦门商场网站建设营业推广策划
  • 企业网站建设的特点百度一下官网首页下载
  • 保定做网站那家好网站优化是什么意思
  • 什么是营销型的网站企业网站推广
  • 深圳做网站的大公司临沂seo
  • 淘宝网pc首页google关键词优化排名
  • 帝国cms企业门户网站仿站视频教程 网盘百度推广平台登陆
  • 创意包装设计网站网络推广和运营的区别
  • 运动服饰网站建设目的百度的合作网站有哪些
  • 天猫网站怎么做seo 知乎
  • photoshop快捷键命令大全优化seo是什么意思
  • 建设网站青岛seo关键词排名报价
  • 商业网站制作磁力链搜索引擎入口
  • 网站建设中怎么插入视频微营销
  • 校园网网站的安全建设方案宁波超值关键词优化
  • 网页制作的原则是什么seo推广是做什么的
  • 网站定制开发什么意思深圳网站建设推广优化公司
  • 电影网站开发任务书互联网创业项目
  • 软件开发的生命周期广州网站优化费用
  • 网站怎么做微信扫描登录网站百度公司有哪些部门
  • 鹤壁网站建设seo需要培训才能找到工作吗
  • asp技术网站开发案例网站关键词怎么写