基础部分:
1、框架的基本定义是什么?
所谓的框架就是被集成了许多的功能且具有很强的通用性的项目模块。
2、什么是scrapy框架?
一个专门用于异步爬虫的框架。
3、scrapy框架有哪些常见的功能?
(1)高性能的数据解析
(2)请求发送
(3)持久化存储
(4)中间件
(5)分布式
4、scapy的基本应用
(1)创建一个工程
scrapy startproject proname
注:目录结构
spiler:爬虫文件夹(必须存放一个爬虫源文件)
seetings.py:工程的配置文件
(2)cd proname
(3)创建爬虫源文件
scrapy genspider spidername www.xxx.com
编写对应的代码在爬虫文件中
(4)执行工程
scrapy crawl spidernme
执行工程之后,默认会输出所有的日志信息
指定类型日志输出
eg: LOG_LEVEL = 'ERROR'
(5)爬虫文件spidername内容解析
name:爬虫文件的文件名,该文件的唯一标识
start_urls:起始Url列表,存储的都是url.URL可自动发送get请求
parse方法:请求后的数据解析操作。
(6)setting.py
禁用robots
指定日志类型
UA伪装
进阶概念:
1、数据解析
(1)使用:respose.xpath('xpath表达式')
(2)scrapy封装的xpath和etree中的xpath的区别
scrapy中的xpath直接将定位到标签中的存储的值或者属性取出,返回的是selector对象,且相关的数据值是存储在selector对象的data属性中,需要调用extract,extraxt_frist()取出字符串数据
2、持久化存储
(1)基于终端指令持久化存储
(2)基于管道持久化存储
a、在爬虫文件中进行数据解析
b、在items.py中定义相关属性
c、在爬虫文件中将解析到的数据类型封装到item类的对象中去
d、将item类型的对象提交给管道
e、在管道文件中,接收爬虫文件提交过来的item类型对象,且对其进行任意形式持久化存储操作
3、五大核心组件
(1)引擎:原来处理整个系统的数据,触发事务
(2)调度器:接收请求,压入队列,再次请求返回一个URL
(3)下载器:用于下载网页内容,并将网页内容返回给蜘蛛
(4)爬虫
(5)项目管道