Scrapy:修订间差异
无编辑摘要 |
无编辑摘要 |
||
第55行: | 第55行: | ||
|[https://docs.scrapy.org/en/latest/topics/selectors.html Scrapy 文档:selectors ] | |[https://docs.scrapy.org/en/latest/topics/selectors.html Scrapy 文档:selectors ] | ||
}} | }} | ||
==蜘蛛== | |||
==项目管道== | |||
当蜘蛛抓取到item后,会发送到项目管道(Item Pipeline),按项目管道设置的值,按从小到大依次进入不同管道处理。项目管道的典型用途包括: | |||
* 清理 HTML 数据 | |||
* 验证抓取的数据(检查项目是否包含某些字段) | |||
* 检查重复项(并删除它们) | |||
* 将抓取的项目存储在数据库中 | |||
{{了解更多 | |||
|[https://docs.scrapy.org/en/latest/topics/item-pipeline.html Scrapy 文档: Item Pipeline] | |||
}} | |||
==下载器== | |||
==资源== | ==资源== | ||
===官网=== | ===官网=== |
2023年11月5日 (日) 03:40的版本
Scrapy 是一个开源的网络爬虫框架。
简介
时间轴
快速入门
架构
了解更多 >> Scrapy 文档:Architecture overview
选择器
Scrapy支持使用XPath或CSS进行选择。其中CSS选择器底层也转为XPath来实现。可以使用scrapy shell
来进行交互式测试选取。
了解更多 >> Scrapy 文档:selectors
选择器生成
选择器可以嵌套使用。
名称 | 描述 | 示例 |
---|---|---|
response.selector.xpath() | 简写response.xpath()
|
response.xpath("//span/text()") response.css("img").xpath("@src") 选择所有含有src属性的img
|
response.selector.css() | 简写response.css()
|
response.css("span::text")
|
选择器属性方法
名称 | 描述 | 示例 |
---|---|---|
get() | 提取匹配第一个的数据,没有返回None,等同于之前版本的extract_first() 。
|
response.xpath("//title/text()").get() 返回标题,没有返回None。 response.xpath("//title/text()").get().get(default="默认值") 返回标题,没有返回“默认值”。
|
getall() | 返回列表,所有匹配元素的数据。等同于之前版本的extract() 。
|
response.css("img").xpath("@src").getall()
|
attrib | 返回匹配元素的属性,当用于列表上,返回第一个元素的属性。 | response.css("img").attrib["src"] response.css("img").attrib["src"]
|
了解更多 >> Scrapy 文档:selectors
蜘蛛
项目管道
当蜘蛛抓取到item后,会发送到项目管道(Item Pipeline),按项目管道设置的值,按从小到大依次进入不同管道处理。项目管道的典型用途包括:
- 清理 HTML 数据
- 验证抓取的数据(检查项目是否包含某些字段)
- 检查重复项(并删除它们)
- 将抓取的项目存储在数据库中
了解更多 >> Scrapy 文档: Item Pipeline
下载器
资源
官网
- Scrapy 官网:https://scrapy.org/
- Scrapy 文档:https://docs.scrapy.org/
- Scrapy 源代码:https://github.com/scrapy/scrapy