Scrapy框架 -- 中间件介绍

简介: Scrapy框架 -- 中间件介绍

一、创建Scrapy项目zhongjj,进入zhongjj项目,创建爬虫文件zhongjjpc

scrapy startproject zhongjj
cd zhongjj
scrapy genspider zhongjjpc www.xxx.com

二、修改配置文件

ROBOTSTXT_OBEY = False
LOG_LEVEL = 'ERROR'

三、添加三个目标地址,其中最后一个地址是错误的url

start_urls = ["https://www.baidu.com/","https://www.sina.com.cn/","https://wwwwww.sohu.com/"]

四、修改中间件文件

1、删除爬虫中间件类ZhongjjSpiderMiddleware

2、修改拦截内容响应内容及异常内容

def process_request(self, request, spider):
        print(request.url+"我是requests")
        return None
    def process_response(self, request, response, spider):
        print(request.url+"我是response")
        return response
    def process_exception(self, request, exception, spider):
        print(request.url+"我是异常信息")
        pass

3、在settings文件里面开启中间件

DOWNLOADER_MIDDLEWARES = {
   "zhongjj.middlewares.ZhongjjDownloaderMiddleware": 543,
}

五、运行结果,三个函数都被调用

六、开发中间件

1、代理中间件

request.meta['proxy'] = 'https://ip:port'

2、UA中间件

request.headers['User-Agent'] = 'Mozilla/5.0 (Windows ......'

3、Cookies中间件

request.headers['cookie'] = 'xxx'
第二种方法
request.cookies = 'xxx'

 

目录
相关文章
|
3月前
|
中间件 数据处理 Apache
|
3月前
|
数据采集 存储 中间件
高效数据抓取:Scrapy框架详解
高效数据抓取:Scrapy框架详解
|
2月前
|
数据采集 存储 XML
Scrapy框架实现数据采集的详细步骤
本文介绍了使用Scrapy框架从宁波大学经济学院网站爬取新闻或公告详情页内容的过程,包括创建Scrapy项目、编写爬虫规则、提取所需信息,并最终将数据存储到Excel文件中的方法和步骤。
Scrapy框架实现数据采集的详细步骤
|
2月前
|
数据采集 中间件 调度
Scrapy 爬虫框架的基本使用
Scrapy 爬虫框架的基本使用
|
2月前
|
数据采集 存储 中间件
Python进行网络爬虫:Scrapy框架的实践
【8月更文挑战第17天】网络爬虫是自动化程序,用于从互联网收集信息。Python凭借其丰富的库和框架成为构建爬虫的首选语言。Scrapy作为一款流行的开源框架,简化了爬虫开发过程。本文介绍如何使用Python和Scrapy构建简单爬虫:首先安装Scrapy,接着创建新项目并定义爬虫,指定起始URL和解析逻辑。运行爬虫可将数据保存为JSON文件或存储到数据库。此外,Scrapy支持高级功能如中间件定制、分布式爬取、动态页面渲染等。在实践中需遵循最佳规范,如尊重robots.txt协议、合理设置爬取速度等。通过本文,读者将掌握Scrapy基础并了解如何高效地进行网络数据采集。
150 6
|
2月前
|
存储 中间件 数据处理
深入解读 Scrapy 框架原理与源码
深入解读 Scrapy 框架原理与源码
40 1
|
3月前
|
数据采集 中间件 调度
当当网数据采集:Scrapy框架的异步处理能力
当当网数据采集:Scrapy框架的异步处理能力
|
3月前
|
JSON 中间件 数据处理
实践出真知:通过项目学习Python Web框架的路由与中间件设计
【7月更文挑战第19天】探索Python Web开发,掌握Flask或Django的关键在于理解路由和中间件。路由连接URL与功能,如Flask中@app.route()定义请求响应路径。中间件在请求处理前后执行,提供扩展功能,如日志、认证。通过实践项目,不仅学习理论,还能提升构建高效Web应用的能力。示例代码展示路由定义及模拟中间件行为,强调动手实践的重要性。
49 1
|
3月前
|
缓存 监控 安全
中间件在Python Web框架中的角色与应用场景
【7月更文挑战第21天】中间件在Python Web开发中作为服务器与应用间的软件层,拦截、处理请求和响应,无需改动应用代码。它扩展框架功能,复用跨应用逻辑,加强安全,优化性能。如Django中间件处理请求/响应,Flask通过WSGI中间件实现类似功能,两者均在不触及核心代码前提下,灵活增强应用行为,是现代Web开发关键组件。
41 0
|
3月前
|
中间件 数据库 开发者
解析Python Web框架的四大支柱:模板、ORM、中间件与路由
【7月更文挑战第20天】Python Web框架如Django、Flask、FastAPI的核心包括模板(如Django的DTL和Flask的Jinja2)、ORM(Django的内置ORM与Flask的SQLAlchemy)、中间件(Django的全局中间件与Flask的装饰器实现)和路由(Django的urls.py配置与Flask的@app.route()装饰器)。这些组件提升了代码组织和数据库操作的便捷性,确保了Web应用的稳定性和可扩展性。
51 0
下一篇
无影云桌面