python - 使用python从下拉菜单中抓取所有动态生成的数据的最佳方法
问题描述
我正在创建 webscraper,它将从该网站抓取动态生成的玩家数据
https://frozenpool.dobbersports.com/frozenpool_linecombo.php
我想创建一个循环,该循环将从下拉菜单中为玩家生成数据,抓取数据,然后遍历下拉菜单中的整个玩家列表。
我很好奇使用 selenium 与网站交互是否是最好的方法。但我也注意到每个玩家的 URL 都遵循特定的模式,所以我考虑抓取初始页面以收集我需要的所有数据,然后使用该数据构建 URL 列表,然后循环遍历该 URL 列表并将它们视为静态页面。
是否有为这种特定类型的网络抓取而构建的 python 工具?
解决方案
看起来您需要的所有信息都加载到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
推荐阅读
- javascript - 如何将 jQuery addClass 代码转换为 Angular
- django - 从 django 中的模型继承字段
- spring - 查询未返回唯一结果:4;嵌套异常是 javax.persistence.NonUniqueResultException:查询没有返回唯一结果:4
- javascript - 如何从客户端 Javascript 文件中访问 Express app.locals 变量?
- mysql - 如果下一个值与当前值相同,如何从 MySQL 分组 concat 并且不重复相同的值
- php - 登录时如何向用户回显甜蜜警报消息
- c++ - 1 到 100 之间的素数列表
- xamarin.ios - AppCenter Xamarin.Forms iOS 测试葫芦构建错误
- azure-data-factory - Azure SQL DB 中的 SSIS/Azure 数据工厂或 OPENROWSET/BULK INSERT
- javascript - API 响应未定义