【发布时间】:2019-09-29 22:20:08
【问题描述】:
我想填写web form 并提交我的查询并下载结果数据。一些字段可以选择下拉菜单或输入搜索查询,部分也可以留空(如果所有部分都留空,则整个数据库都已下载),点击“搜索和下载”按钮应该会启动下载文件。
这是我根据this 问题尝试过的(选择物种“Salmo salar”的所有记录)。我使用我的浏览器(Opera)“开发者工具”来检查页面元素并识别所有可能字段的名称:
library(httr)
url <- "https://nzffdms.niwa.co.nz/search"
fd <- list(
search_catchment_no_name = "",
search_river_lake = "",
search_sampling_locality = "",
search_fishing_method = "",
search_start_year = "",
search_end_year = "",
search_species = "Salmo salar", # species of interest
search_download_format = 1, # select csv file format
submit = "Search and Download"
)
POST(url, body = fd, encode = "form")
我曾希望这会导致下载 csv 文件(物种“Salmo salar”的所有记录),但没有文件下载(但输出此文件(10 个列表,仅显示第一位):
Response [https://nzffdms.niwa.co.nz/search]
Date: 2019-10-02 23:35
Status: 200
Content-Type: text/html; charset=utf-8
Size: 19.1 kB
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; c...
<meta name="title" content="NZ Freshwater Fish Database...
<meta name="description" content="NIWA NZ Freshwater Fish...
<meta name="keywords" content="NIWA, NZ, Freshwater Fish" />
<meta name="language" content="en" />
<meta name="robots" content="index, follow />
...
编辑
我认为问题在于我如何调用Search and download 按钮,在检查网页时,大多数字段看起来像这样:
# end year field
<input maxlength="4" class="form-control" type="text" name="search[end_year]" id="search_end_year">
但search and download 按钮元素没有name 或id 选项:
<input type="submit" value="Search and Download" class="btn btn-primary btn-md">
另外我刚刚注意到有一个隐藏字段,也许我需要定义这个?
<input type="hidden" name="search[_csrf_token]" value="d1530f09c1ce8110b5163bd100cb0d67" id="search__csrf_token">
任何关于如何下载文件的建议将不胜感激。
更新 - 警告
截至2021-12-1,上述问题中所查询的数据库已大幅更新,该问题中的信息不再准确反映该网站,以下chinsoon12的相关答案如果提交将不再返回结果.
【问题讨论】: