【发布时间】:2021-06-13 21:56:46
【问题描述】:
我有以下html结构:
我想从突出显示的范围(使用 Scrapy)中提取文本(““Business-Thinking”-Fokus im Master-Kurs”),但是我无法访问它,因为它不包含任何特定的类或身份证。
我尝试使用以下绝对 xPath 访问它:
sel.xpath('/html/body/div[4]/div[1]/div/div/h1/span/text()').extract()
我没有收到任何错误,但是它返回一个空白文件,这意味着没有提取文本。
注意:父类不是唯一的,这就是我不使用相对路径的原因。随着文本的变化,我也无法通过查找它包含的文本来达到跨度。
您对我应该如何修改我的 xPath 以提取文本有什么建议吗?谢谢!
【问题讨论】:
-
嗨,Alex,您能否将 html 结构共享为代码而不是图像的链接。拥有指向您希望提取的网页的链接也将有所帮助,以便我们对其进行测试。
-
嗨,Ryan,这是网页的链接:aback-blog.iwi.unisg.ch/2021/02/18/… 我要做的是提取每篇博客文章的标题。我不确定如何仅分享显示整个结构的 html 代码的摘录,但不粘贴整个详细代码,因为它不可读。
-
在我看来父类是独一无二的。例如“container-blogsingle”在我查看的几个页面中只出现一次。另一个锚点是标题总是在带有“行页眉”类的 div 之前。在具有“容器”类的 div 之后,它也总是一个 h1 标记。这里有很多选择。
-
非常感谢@mr_mooo_cow,我使用“container-blogsingle”类作为锚点,我可以提取标题。为什么它不能与绝对 xPath 一起使用对我来说仍然是个谜……但这个案子已经解决了!
标签: python html web-scraping xpath scrapy