Python爬虫 scrapy框架 原理,scrapy开发流程
来源:互联网 发布:苹果6s蜂窝数据打不开 编辑:程序博客网 时间:2024/06/05 14:32
- Scrapy Engine 引擎
处理整个系统,是各个模块之间的联系人,各个模块的数据均需要引擎来发送和收回 - Scheduler 调度器
a.接收请求,压入队列
b.引擎再次请求时返回请求 - Downloader 下载器
接收请求request,返回响应response - Spider 爬虫
a.发起起始的请求 start_url
b.定义如何爬取下一个网站 call_back - Item Pipeline 管道
定义数据的后续处理 - Middleware 中间件
a. Downloader Middleware 下载器中间件
处理引擎和下载器之间的请求request和响应response (反反爬)
b. Spider Middleware 爬虫中间件
处理spider的响应输出和请求输入
scrapy开发流程:
1 创建项目
scrapy startproject 项目名称
2 明确要爬取的网站数据,在items.py中建模
3 setting中对项目进行配置,scrapy.cfg远程部署配置
4 创建爬虫,spiders文件夹存放爬虫文件
# 命令行创建scrapy genspider 爬虫名 爬虫允许的域名# 手动创建在spiders文件夹下创建py文件import scrapy导入模型(items中该爬虫的数据模型)爬虫类(类名一般为"爬虫名Spider")必要类属性:name 爬虫名allowed_domains 允许爬取的域名start_urls 起始爬取的url列表必要方法def parse(self,response): 写入数据获取和处理方法,以及后续url的操作
5 保存数据 pipeline.py进行爬取数据的存储设置
该类一般有三个方法
def __init___(self): 或者是 open_spider(self) # 定义初始状态,一般为打开一个文件,或者是链接数据库的必要参数等 f = open("file","w")def process_item(self,item,spider): 定义数据存储过程 item为在爬虫.py文件中yield返回给引擎的爬取数据def close_spider(spider): 定义数据存储完毕的状态,一般为关闭文件或者是断开数据库服务器链接
6 运行爬虫
scrapy crawl 爬虫名
7 feed输出
将获取到的数据返回给引擎,并Feed输出,给其他平台进行数据分析
scrapy crawl 爬虫名 -o 文件名.jsonscrapy crawl 爬虫名 -o 文件名.xml 等等如果不记得什么格式,只需要随便写点后缀,会提示都有什么格式scrapy crawl 爬虫名 -o 文件名.xmladfsa
阅读全文
0 0
- Python爬虫 scrapy框架 原理,scrapy开发流程
- Scrapy:Python的爬虫框架----原理介绍
- Python 爬虫框架 scrapy
- Python爬虫框架--Scrapy
- Python Scrapy爬虫框架
- python爬虫 -- scrapy框架
- Python爬虫---scrapy框架
- <scrapy>python 爬虫框架scrapy安装
- Python网络爬虫框架:Scrapy
- python 爬虫scrapy框架练习
- Scrapy:Python的爬虫框架
- Python爬虫框架Scrapy安装
- Python的爬虫框架 Scrapy
- [Python]爬虫框架Scrapy人门
- python爬虫框架(scrapy)
- Scrapy:Python的爬虫框架
- Python scrapy爬虫框架简介
- Python爬虫框架Scrapy实战
- Spring-boot中添加commandLineRunner之后,写单元测试会自动执行commandLineRunner的解决方案
- Spring和MyBatis环境整合
- Windows设置VMware开机自动启动,虚拟机也启动
- 【DP】RQNOJ #107 Ural的鹰蛋实验
- Tomcat8.5下载安装
- Python爬虫 scrapy框架 原理,scrapy开发流程
- 实验6
- 记录
- 关于sql 的执行存储过程
- win10下安装caffe
- 用U盘做成系统安装盘安装系统
- 从MongoDB IPO谈谈企业级数据库市场
- 磁盘格式化与挂载、手动增加swap空间
- 立个Flag (bunengdao