python - 使用下拉菜单抓取网络数据并单击一个按钮,该按钮可获取显示的表格
问题描述
我对网络抓取完全陌生,从未使用过它,现在我正在研究作物产量分析,因为我需要获取该网站https://www.indiawaterportal.org/met_data/上提供的气候信息数据需要从下拉菜单中选择一些选项,然后单击页面上显示的按钮,这将获取显示的表格和图表,我可以以 csv 或 excel 格式下载该表格,但我想要所有数据数量巨大,我无法为每种状态和每种数据类型手动执行此操作,有没有办法在多个 CSV 文件中获取所有信息(在给定的时间间隔内,一种数据类型的一个 CSV 文件)
解决方案
每个<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”州的地区
推荐阅读
- python - python 2命令的python 3等效项-print(“-”)* 80是什么?
- c# - 设置单元格背景颜色在 TreeView Gtk C# 上无法正常工作
- tensorflow - 序列到序列 - 用于时间序列预测
- java - 试图在我的世界中制作一把匕首(带有日食),让你在右键单击时传送
- assembly - 函数有一些问题
- c++ - 在 Clang 中按功能启用快速数学?
- angular - Angular App 在刷新时返回默认(主组件)
- c# - 如何订阅多个事件
- r - 滚动到导航栏页面的底部
- windows - CloudFormation 初始化 -> 基于内容创建“文件” -> 无法创建具有多行内容的文件