在一个我看不到有我想要废弃的代码的网页上,如何用scrapy获得数据

2024-05-15 08:31:47 发布

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

我正在尝试获取this page上存在的用户名称和评论内容:

需要提取的用户和文本:Image

当我用chrome插件Xpath helper测试提取时,我得到的用户名是:

//*[@id="livefyre"]/div/div/div/div/article/div/header/a/span

我得到的评论是:

//*[@id="livefyre"]/div/div/div/div/article/div/section/div/p

在scrapy控制台中执行测试时,使用以下查询:

response.xpath(//*[@id="livefyre"]/div/div/div/div/article/div/section/div/p).extract()

我得到一个[]

我也尝试过:

response.xpath (//*[@id="livefyre"]/div/div/div/div/article/div/section/div/p.text()).extract()

我的代码也会发生同样的事情。你知道吗

通过验证页面的代码,我发现所有这些注释都不存在于html代码中。你知道吗

例如,当我检查页面时,我看到注释文本:Image

但当我检查网页的html代码时,我什么也看不到 :Image

我哪里出错了?你知道吗

谢谢你的帮助。你知道吗


Tags: 代码用户文本dividresponsehtmlarticle
1条回答
网友
1楼 · 发布于 2024-05-15 08:31:47

正如你所说的,页面代码中没有任何注释,这意味着网站是通过javascript呈现的,有两种方法可以废弃这类网站

首先

使用scrapy-splash呈现javascript

其次

找到带注释的api/network call,用scrapy模拟该请求以获取数据。你知道吗

相关问题 更多 >