Scrapy:修订间差异
无编辑摘要 |
无编辑摘要 |
||
第11行: | 第11行: | ||
}} | }} | ||
==选择器== | |||
Scrapy支持使用[[XPath]]或[[CSS]]进行选择。其中CSS选择器底层也转为XPath来实现。可以使用<code>scrapy shell</code>来进行交互式测试选取。 | |||
{{了解更多 | |||
|[https://docs.scrapy.org/en/latest/topics/selectors.html Scrapy 文档:selectors ] | |||
}} | |||
=== 选择器生成 === | |||
选择器可以嵌套使用。 | |||
{| class="wikitable" | |||
! 名称 | |||
! 描述 | |||
! 示例 | |||
|- | |||
| response.selector.xpath() | |||
| 简写<code>response.xpath()</code> | |||
| <code>response.xpath("//span/text()")</code> <br /><code>response.css("img").xpath("@src")</code>选择所有含有src属性的img | |||
|- | |||
| response.selector.css() | |||
| 简写<code>response.css()</code> | |||
|<code>response.css("span::text")</code> | |||
|} | |||
=== 选择器属性方法 === | |||
{| class="wikitable" | |||
! 名称 | |||
! 描述 | |||
! 示例 | |||
|- | |||
| get() | |||
| 提取匹配第一个的数据,没有返回None,等同于之前版本的<code>extract_first()</code>。 | |||
| <code>response.xpath("//title/text()").get()</code>返回标题,没有返回None。 <br /><code>response.xpath("//title/text()").get().get(default="默认值")</code>返回标题,没有返回“默认值”。 | |||
|- | |||
| getall() | |||
| 返回列表,所有匹配元素的数据。等同于之前版本的<code>extract()</code>。 | |||
| <code>response.css("img").xpath("@src").getall()</code> | |||
|- | |||
|attrib | |||
| 返回匹配元素的属性,当用于列表上,返回第一个元素的属性。 | |||
| <code>response.css("img").attrib["src"]</code> <br /><code>response.css("img").attrib["src"]</code> | |||
|} | |||
{{了解更多 | |||
|[https://docs.scrapy.org/en/latest/topics/selectors.html Scrapy 文档:selectors ] | |||
}} | |||
==资源== | ==资源== | ||
===官网=== | ===官网=== |
2023年11月2日 (四) 05:31的版本
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
资源
官网
- Scrapy 官网:https://scrapy.org/
- Scrapy 文档:https://docs.scrapy.org/
- Scrapy 源代码:https://github.com/scrapy/scrapy