Scrapy Python Web Scraping创建XPath

2024-05-14 21:43:35 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试创建“通用”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]

Tags: text文本div名称com列表酒店xpath
1条回答
网友
1楼 · 发布于 2024-05-14 21:43:35

当您查看要从浏览器源代码查看器中删除的html时,仅仅使用“copy xpath”是不够的。你知道吗

您需要查看html标记所具有的属性。你知道吗

当然,只使用标记类型作为xpath是可行的,但是如果不是每个页面都遵循这种模式呢?你知道吗

您正在使用的Scrapy示例使用spanclass属性精确地指向目标标记。你知道吗

class attribute's value used to locate target data

我建议阅读更多关于Xpath(for example here)的内容,以了解搜索模式的灵活性。你知道吗

如果您想更广泛地了解DOM结构,那么阅读DOM结构也会很有用。如果你需要更多的指示,请告诉我们。你知道吗

相关问题 更多 >

    热门问题