首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Scrapy Python Web Scraping -创建XPath

Scrapy Python Web Scraping -创建XPath
EN

Stack Overflow用户
提问于 2018-08-22 21:28:32
回答 1查看 78关注 0票数 0

我正在尝试创建“通用”Xpath,这样当我运行spider时,它将能够下载列表中每个酒店的酒店名称。

这是我需要转换的XPath:

代码语言:javascript
复制
//*[@id="offerPage"]/div[3]/div[1]/div[1]/div/div/div/div/div[2]/div/div[1]/h3/a

有谁能告诉我正确的方向吗?

这是他们如何在scrapy文档中实现的示例:

https://github.com/scrapy/quotesbot/blob/master/quotesbot/spiders/toscrape-xpath.py

对于文本:它们具有:

代码语言:javascript
复制
'text': quote.xpath('./span[@class="text"]/text()').extract_first(),

当您打开"http://quotes.toscrape.com/“并复制文本的Xpath时,您将看到:

代码语言:javascript
复制
/html/body/div/div[2]/div[1]/div[1]/span[1]
EN

回答 1

Stack Overflow用户

发布于 2018-08-22 21:41:24

当您查看您正在抓取的html时,仅仅使用浏览器源代码查看器中的"copy xpath“是不够的。

您需要查看html标记所具有的属性。

当然,只使用标记类型作为xpath也可以,但是如果不是要抓取的每个页面都遵循这种模式,那该怎么办呢?

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

我建议多阅读一些关于Xpath (for example here)的内容,以了解您的搜索模式可以有多灵活。

如果您想了解更广泛的内容,那么阅读有关DOM结构的内容也会很有用。如果你需要更多的指针,请告诉我们。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51968013

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档