从调用API的网页获取进行API调用所需的信息

问题描述 投票:0回答:3
python web-scraping scrapy
3个回答
0
投票

您的代码使用类选择器。你的 html 告诉

data-content-id
是属性。不熟悉 scrapy 来判断它是否有属性选择的东西,但你可以使用 XPath 代替

response.xpath('//li[@data-content-id]')

0
投票

data-content-id
页面上某些其他类型的内容也可能有一些其他值,因此上面的 xpath 可能会获取不需要的部分。

以下 CSS 应该可以工作:

response.css('[itemprop="review"]').get()

或者如果你真的想包含 data-content-id 那么我相信我们应该使用:

response.css('[data-content-id*="Reviews-"]').get()

这将获取 data-content-id 属性包含 Reviews- 的所有元素。我们在这里使用通配符,因为评论后面的数字看起来像一个 ID,每个评论元素都会有所不同。


0
投票

所需数据未在页面的html代码中呈现!!
它由单独的 Api 调用加载并由 javascript 呈现。
要查看原始 html 代码,您需要(在 Chrome 中)使用“查看源代码”选项 CTRL+U
- 不检查 -> 元素。

其他信息 - > 抓取动态内容 (docs)

© www.soinside.com 2019 - 2024. All rights reserved.