Scrapy:从没有 class 或 id 的 span 中提取文本

Scrapy: extract text from span without class or id

我有以下 html 结构:

我想从突出显示的范围(使用 Scrapy)中提取文本(““商业思维”-Fokus im Master-Kurs”),但是我很难找到它,因为它不包含任何特定的内容class 或 id.

我尝试使用以下绝对 xPath 访问它:

sel.xpath('/html/body/div[4]/div[1]/div/div/h1/span/text()').extract()

我没有收到任何错误,但是它 returns 是一个空白文件,这意味着没有提取文本。

注意:父class不是唯一的,这就是我不使用相对路径的原因。由于文本不同,我也无法通过查找它包含的文本来达到跨度。

您对我应该如何修改 xPath 以提取文本有什么建议吗?谢谢!

如果您使用 scrapy shell url 加载页面,它会在不使用 javascript 的情况下加载。 当您在没有 javascript 的情况下查看源代码时,跨度的 xpath 是 /html/body/div/div[1]/div/div/h1/span

要在 Scrapy 中使用 javascript 加载网页,请使用 Splash。