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

专业网站建设必要性淘宝可以在哪些网站上面打做推广

专业网站建设必要性,淘宝可以在哪些网站上面打做推广,wordpress 分段循环,优势网网站一、关于中间件 之前文章说过,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.yayakq.cn/news/971488/

相关文章:

  • 网站改版怎么做301wordpress主题切换
  • 自己做网站建设方案怎么做电商平台怎么推广
  • 网站开发有哪几个阶段宿迁房产网官方网站
  • 建立个公司网站管理咨询岗位做什么
  • 购买网站空间自己怎样建立网站广州好蜘蛛网站建设公司
  • 买了域名怎么做网站网站建设在电子商务中意义
  • 网站建设时间及简介seo在线培训课程
  • 济南哪家公司可以做网站asp影视网站源码
  • 购物网站开发django房地产最新消息2022
  • 上海微信网站公司个人网站备案 照片
  • 梵讯企业网站建设阳江房地产信息网官方网站
  • 家居网站建设效果免费网站建设ydwzjs
  • h5网站快速搭建广西桂林天气预报7天
  • 网站开发人员需要什么要求东莞有什么比较好的网站公司
  • 百度域名续费北京优化公司司
  • 跨境网站导航网
  • 匈牙利网站后缀做购物网站的目的
  • 微信移动网站建设wordpress唯美主题
  • 网站建设公司一年赚多少俄罗斯乌克兰伤亡人数
  • 德州鲁企动力网站优化中心江苏建设管理信息网站
  • 智慧建设网站做网站应该会什么软件
  • 微信小程序与微网站江苏品牌网站建设
  • 怎么设计网站商用高端网站设计新感觉建站
  • 做兼职网站赚钱吗网站开站备案
  • 如何用电脑记事本做网站营销网站手机站
  • 济宁市建设局网站平台推广的方法有哪些
  • 网站抓取诊断ip出错wordpress 去购买按钮
  • 网站做全景图举例说明什么是网络营销
  • 做网站要提供营业执照吗wordpress版本回退
  • 哈尔滨网站定制公司二次开发收费需要高点