Scrapy选择器使用
lxml.html
解析器解析输入文本,当lxml接收到非完整html(html片段)时,它总是将其包装成一个完整的html文档树,我相信这与web浏览器的工作方式是一样的。
Xpath表达式的工作原理与基本文件系统路径表达式类似,例如
/home/john/Downloads/file.pdf
Downloads/file.pdf
./Downloads/file.pdf
).
简单的XPath表达式,例如
body
也与
./body
<body>
应该是当前节点的直接子级的元素。点是指当前节点,单斜杠是指它下面的一级(双斜杠是指下面的任何一级)。
<html>
节点)。根节点没有直接子元素
<html>
所以
xpath('html')
什么都不给你。根节点没有直接
<车身>
xpath('body')
就这样。根节点没有直接
<a>
孩子如此
xpath('a')
xpath('.//a')
).
xpath('//body').xpath('/body')
/
//
(两个都是绝对路径)指示求值器开始相对于文档的根查找,而不考虑您当前所在的位置。所以您的表达式是:在文档中的任意位置查找body元素,然后查找body元素,body元素必须位于最顶部(除了顶部只有一个元素,即
<html>