Scrapy框架的使用
Python爬虫入门之 Scrapy框架的使用Scrapy是适用于Python的一个快速、高层次的屏幕抓取和web抓取框架,用于抓取web站点并从页面中提取结构化的数据。Scrapy用途广泛,可以用于数据挖掘、监测和自动化测试。 [1]支持自定义,方便,好用。异步的,,速度嗖嗖嗖的!!!异步处理框架,可配置和可扩展程度非常高,Python中使用最广泛的爬虫框架Scrapy中文文档常用命令:方法描述
Python爬虫入门之 Scrapy框架的使用
Scrapy是适用于Python的一个快速、高层次的屏幕抓取和web抓取框架,用于抓取web站点并从页面中提取结构化的数据。Scrapy用途广泛,可以用于数据挖掘、监测和自动化测试。 [1]
支持自定义,方便,好用。异步的,,速度嗖嗖嗖的!!!
异步处理框架,可配置和可扩展程度非常高,Python中使用最广泛的爬虫框架
常用命令:
方法 | 描述 |
---|---|
scrapy startproject scrapydemo | 创建一个名为 scrapydemo 的scrapy项目 |
scrapy genspider scrapydemo bilibili.com | 创建一个名为scrapydemo的spider,访问域名为bilibili.com |
scrapy crawl -o xxx.json | 数据存储到 xxx.json |
cmdline.execute(“scrapy crawl scrapyspider”.split()) | 启动scrapy的scrapyspider文件 |
0. 准备工作
查看scrapy命令
scrapy -h
安装
pip install scrapy
1. 创建一个scrapy项目
创建scrapy项目
scrapy startproject scrapydemo
切换到scrapydemo项目
cd scrapydemo
创建一个新的spider
scrapy genspider scrapydemo bilibili.com
流程图:
画图
- Spider的将需要发送请求的
request
发送给Engine(引擎 - Engine将
request
发送给Scheduler(调度器 - Scheduler(调度器,可理解为url队列),生成request请求交给Engine
- Engine拿到
request
,通过DownloaderMiddleware(可选,主要有UA
,Cookie
,代理IP
)进行层层过滤发送给Downloader - Downloader向互联网发送请求,获取到
response
后,又经过SpiderMiddleware(爬虫中间件)发送给Engine - Engine获取到
response
数据之后,返回给Spider, - Spider的
parse()
方法对获取到的response
数据进行处理,解析出item
和request
,然后发送给Engine - Engine获取到
item
和request
,将item
发送给ItemPipeline(管道)进行数据持久化,将request
发送给Scheduler(调度 - 以上步骤会一直循环,循环到无
request(url)
请求,程序才停止。
注意!即使某个request中报错了,程序也会继续执行到没有request请求才停止。
部分文件说明:
文件 | 说明 |
---|---|
items.py | 定义采集的数据字段,用于结构化数据 |
pipelines.py | 数据持久化 |
settings.py | 配置文件 |
spiders | 编写爬虫规则 |
middleware.py | 中间件,如为请求添加cookie、ua等 |
2. 案例实战
链家
查看君子协议:https://www.bilibili.com/robots.txt
3. 数据持久化
存储为csv:
cmdline.execute('scrapy crawl spider -o lianjia.csv'.split())
存储为json:
cmdline.execute('scrapy crawl spider -o lianjia.json'.split())
存储到数据库:
pipeline.py

GitCode 天启AI是一款由 GitCode 团队打造的智能助手,基于先进的LLM(大语言模型)与多智能体 Agent 技术构建,致力于为用户提供高效、智能、多模态的创作与开发支持。它不仅支持自然语言对话,还具备处理文件、生成 PPT、撰写分析报告、开发 Web 应用等多项能力,真正做到“一句话,让 Al帮你完成复杂任务”。
更多推荐
所有评论(0)