如何抓取仅在单击按钮后才会显示的数据?

时间:2019-05-09 13:37:32

标签: javascript python scrapy

我正在尝试建立英雄联盟的游戏统计数据数据库。我使用https://op.gg作为来源,现在我可以对搜索名称后默认显示的数据进行爬网,但是我希望仅在单击某些内容后才能显示数据。

默认情况下,html显示以下内容:

<div class="GameItem Lose" data-summoner-id="2919237" data-game-time="1557391914" data-game-id="3653488889" data-game-result="lose">

但是在按下按钮后,它将变为:

<div class="GameItem Lose extended" data-summoner-id="2919237" data-game-time="1557391914" data-game-id="3653488889" data-game-result="lose">

我需要的数据在新部分下。

我已经尝试过使用Docker进行艰辛的教程,但这似乎只能说明如何使用javascript获取预加载的数据。

1 个答案:

答案 0 :(得分:1)

您可以使用Selenium软件包!

我和您一样将其用于类似案件。我不得不抓取一个YouTube视频的所有评论。它们仅在您向下滚动并等待加载时显示。 检查我的code。免责声明:由于我参加过这门课程的练习,因此评论和结构都不够好,但是它给了您一个主意。

Selenium就像在运行浏览器一样进行模拟。这样您就可以看到它向下滚动页面,然后等待一段时间,然后单击内容。我发现它很酷!

祝你好运,享受!