首页 > 解决方案 > 使用python从下拉菜单中抓取所有动态生成的数据的最佳方法

问题描述

我正在创建 webscraper,它将从该网站抓取动态生成的玩家数据

https://frozenpool.dobbersports.com/frozenpool_linecombo.php

我想创建一个循环,该循环将从下拉菜单中为玩家生成数据,抓取数据,然后遍历下拉菜单中的整个玩家列表。

我很好奇使用 selenium 与网站交互是否是最好的方法。但我也注意到每个玩家的 URL 都遵循特定的模式,所以我考虑抓取初始页面以收集我需要的所有数据,然后使用该数据构建 URL 列表,然后循环遍历该 URL 列表并将它们视为静态页面。

是否有为这种特定类型的网络抓取而构建的 python 工具?

标签: pythonseleniumweb-scrapingbeautifulsoup

解决方案


看起来您需要的所有信息都加载到https://frozenpool.dobbersports.com/frozenpool_linecombo.php的请求中。因为它不会发出额外的请求来获取更多信息Selenium,所以对于这个项目来说可能有点矫枉过正,你可以坚持使用BeautifulSoup.

我认为您使用结构 URL 循环遍历每个播放器的想法是正确的。如果这是一次性抓取,则直接从页面的 html 中复制玩家列表以获取玩家 ID,然后循环通过以下 URL,将PLAYER_ID替换为每个玩家标识符。

http://frozenpool.dobbersports.com/frozenpool_linecombo.php?select=F&forward= PLAYER_ID &games=2019-2020%3AR%3A99&period=ALL&situation=ALL


推荐阅读