(四) Selector
2019-05-04 本文已影响0人
iamlightsmile
从网页中提取数据有很多方法。Scrapy使用了一种基于 XPath 和 CSS 表达式机制: Scrapy Selectors 。 关于selector和其他提取机制的信息请参考 Selector文档 。
这里给出XPath表达式的例子及对应的含义:
-
/html/head/title: 选择HTML文档中<head>标签内的<title>元素 -
/html/head/title/text(): 选择上面提到的<title>元素的文字 -
//td: 选择所有的<td>元素 -
//div[@class="mine"]: 选择所有具有class="mine"属性的div元素
上边仅仅是几个简单的XPath例子,XPath实际上要比这远远强大的多。 如果您想了解的更多,我们推荐 这篇XPath教程 。
为了配合XPath,Scrapy除了提供了 Selector 之外,还提供了方法来避免每次从response中提取数据时生成selector的麻烦。
Selector有四个基本的方法(点击相应的方法可以看到详细的API文档):