Я хочу заполнить веб-форму , отправить запрос и загрузить полученные данные. В некоторых полях есть возможность выпадающего меню или ввода поискового запроса, разделы также можно оставить пустыми (если все разделы оставлены пустыми, загружается вся база данных), нажатие кнопки «поиск и загрузка» должно вызватьзагрузка файла.
Вот что я пробовал (выбирая все записи для вида "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 />
...
Edit
Я думаю, что проблема в том, какЯ вызываю кнопку 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">
Любой совет, как я могу получить загрузку файла, будет оченьоценили.