如何在di中获取文本

2024-06-01 11:22:20 发布

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

看看这个网页:

https://www.michaelkors.com/large-crossgrain-leather-dome-crossbody-bag/_/R-US_32S9SF5C3L?color=2519

我想在“详细信息”部分下获取文本。当我看到div时,它下面有类细节和文本。这是我正在使用的语句:

details =  response.xpath('.//div[@class="detail"]/text()').extract()

然而,它却一无所获。你知道吗


Tags: https文本divcom网页wwwcolorus
2条回答

在页源中找不到class detail元素。这意味着在scrapy请求加载的响应中找不到它。 Scrapy处理静态请求,它响应页面源中的所有元素。你知道吗

如果请求是动态请求,它将响应inspect元素中的元素(由javascript、ajax类型的请求加载)。我们应该尝试一些其他的软件包连同scrapy来刮取这些数据。你知道吗

例如:SplashSelenium

在您的情况下,应该将其作为动态请求处理。你知道吗

加载页面时,您试图解析的div似乎不存在。
产品数据以json的形式存储在脚本标记中,div是使用javascript从中生成的。你知道吗

这给您留下了两个选择:

  • 自己解析javascript并提取数据
  • 使用浏览器(例如scrapy-splash)运行javascript,并解析生成的HTML

相关问题 更多 >