我正在尝试创建“通用”Xpath,因此当我运行spider时,它将能够下载列表中每个酒店的酒店名称。你知道吗
这是我需要转换的XPath:
//*[@id="offerPage"]/div[3]/div[1]/div[1]/div/div/div/div/div[2]/div/div[1]/h3/a
有人能给我指出正确的方向吗?你知道吗
这是他们如何在scrapy docs中做到这一点的示例:
https://github.com/scrapy/quotesbot/blob/master/quotesbot/spiders/toscrape-xpath.py
对于文本:它们有:
'text': quote.xpath('./span[@class="text"]/text()').extract_first(),
当您打开“http://quotes.toscrape.com/”并为文本复制Xpath时,您将得到:
/html/body/div/div[2]/div[1]/div[1]/span[1]
当您查看要从浏览器源代码查看器中删除的html时,仅仅使用“copy xpath”是不够的。你知道吗
您需要查看html标记所具有的属性。你知道吗
当然,只使用标记类型作为xpath是可行的,但是如果不是每个页面都遵循这种模式呢?你知道吗
您正在使用的Scrapy示例使用
span
的class
属性精确地指向目标标记。你知道吗我建议阅读更多关于Xpath(for example here)的内容,以了解搜索模式的灵活性。你知道吗
如果您想更广泛地了解DOM结构,那么阅读DOM结构也会很有用。如果你需要更多的指示,请告诉我们。你知道吗
相关问题 更多 >
编程相关推荐