➜ scrapy shell https://ru.stackoverflow.com/questions/1026293/%D0%9D%D0%B0%D0%BF%D0%B8%D1%81%D0%B0%D1%82%D1%8C-xpath-%D0%BA%D0%BE%D1%82%D0%BE%D1%80%D1%8B%D0%B9-%D0%B2%D1%8B%D0%B1%D0%B8%D1%80%D0%B0%D0%B5%D1%82-%D0%B2%D1%81%D0%B5-%D1%8D%D0%BB%D0%B5%D0%BC%D0%B5%D0%BD%D1%82%D1%8B-%D0%BE%D1%82-%D0%B8-%D0%B4%D0%BE/1026326
我们的 ipython 终端打开,我们输入
mainbar = response.xpath("//div[@id='mainbar']")
In [2]: type(mainbar)
Out[2]: scrapy.selector.unified.SelectorList
有什么问题和疑问。
问题是我不知道如何通过 xPath 在这个元素上进行搜索。
此 div 包含其他 div、段落和其他带有信息的 html 标记。我想注册 kspas 以按内容搜索mainbar
mainbar.xpath("//div[@class='question']")
所以?还是这样?
mainbar.xpath(".//div[@class='question']")
或者像这样
mainbar.xpath("./div[@class='question']")
或者
mainbar.xpath("/div[@class='question']")
如何正确搜索已找到的 XPath 元素上的内容?
显然是这样
点需要从当前元素开始搜索,否则会从根开始搜索
如果你放一个斜线,那么搜索将只在顶层。在树的任何地方,你需要两个斜线