首页 > 解决方案 > 使用下拉菜单抓取网络数据并单击一个按钮,该按钮可获取显示的表格

问题描述

我对网络抓取完全陌生,从未使用过它,现在我正在研究作物产量分析,因为我需要获取该网站https://www.indiawaterportal.org/met_data/上提供的气候信息数据需要从下拉菜单中选择一些选项,然后单击页面上显示的按钮,这将获取显示的表格和图表,我可以以 csv 或 excel 格式下载该表格,但我想要所有数据数量巨大,我无法为每种状态和每种数据类型手动执行此操作,有没有办法在多个 CSV 文件中获取所有信息(在给定的时间间隔内,一种数据类型的一个 CSV 文件)

标签: pythonweb-scrapingbeautifulsoup

解决方案


每个<select>(州、区等)都包含值列表。用户做出选择后,将组成 csv 的 URL。

例子:

https://www.indiawaterportal.org/met_data/data/csv/18/8/1/1901/1903/annual_totals
  • 18:国家代码
  • 8:区号
  • 1:数据类型
  • 1901:从
  • 1903: 到
  • 年度总计:显示什么

您所要做的就是“抓取”数据<select>并根据<option>值组合所有可能的 url。

请注意,该地区<select>是根据州选择动态构建的。例子:

https://www.indiawaterportal.org/met_data/index.php?/data/state/22

应该返回“22”州的地区


推荐阅读