如何在没有看到要刮擦的代码的网页中以刮擦的方式获取数据

时间:2019-01-02 17:52:55

标签: python web-scraping scrapy scrapy-spider

我正在尝试获取用户名和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

我在哪里出错?

感谢帮助。

1 个答案:

答案 0 :(得分:2)

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

首先

使用build.gradle渲染javascript

找到带来评论的apply plugin: 'kotlin-kapt',草率地模拟该请求以获取数据。