scrapy框架
什么是框架
就是一个集成了很多功能冰洁具有很强通用性的一个项目模板
-如何学习框架
专门学习框架封装的各种功能的详细用法
-什么是scrapy
爬虫中封装好的一个明星框架 功能:高性能的持久化存储,异步的数据下载,高性能的数据解析,分布式
-scrapy框架的基本使用
环境的安装:
mac linux:
pip install scrapy
win:
pip install wheel
下载twisted,下载地址为:http://www.lfd.uci.edu/~gohlke/pythonlibs/#twisted
创建一个工程:
scrapy startproject name
cd到工程目录中
spider文件夹创建爬虫文件
scarpy genspider spiderName www.xxx.com
执行工程:
scrapy crawl spiderName
settings.py文件:放置配置文件
scrapy crawl first --nolog 隐藏日志 但是会把错误信息隐藏 在配置文件中设置
scrapy各个文件作用
spiders文件夹:爬虫文件,需要自己手写
items.py : 爬取的字段,需要在这里定义
middlewares.py:中间件
pipelines.py:将item.py接受的数据存储数据
settings.py:一些基本的设置,如开启管道,报错显示的类型
scrapy数据解析
scrapy持久化存储
基于终端命令:
要求:只可以将parse方法得返回值存储到本地文本文件中,不可存储在数据库
终端指令:
scrapy crawl spider -o filepath
注意:持久化存储对应的文本文件得类型只可以为:
'json','jsonlines','jl','csv','xml','marshal','pickle'
好处:简介高校便捷
缺点:局限性比较强(数据只可以存储到只当后缀得文本文件中)
基于管道:
编码流程:
数据解析
在item类中定义相关的属性
将解析的数据封装存储到item类型的对象中
将item类型的对象提交给管道进行持久化存储的操作
在管道类的process_item中要将其接收到的item对象中存储的数据进行持久化存储操作
在settings配置文件中开启管道 ITEM_PIPELINES