首先,你不需要
XML
包裹
rvest
够了。
你的表单提交部分几乎正确,只是输入了错误的字段名。
library(rvest)
#> Loading required package: xml2
url <- 'http://ec.europa.eu/taxation_customs/vies/vatResponse.html?locale=pl'
session1 <- html_session(url)
form1 <-html_form(session1)
form1[[1]]
#> <form> 'vowRequest' (POST vatResponse.html)
#> <select> 'memberStateCode' [0/29]
#> <input text> '': --
#> <input text> 'number':
#> <input text> 'traderName':
#> <select> 'traderCompanyType' [0/0]
#> <input text> 'traderStreet':
#> <input text> 'traderPostalCode':
#> <input text> 'traderCity':
#> <select> 'requesterMemberStateCode' [0/30]
#> <input text> '':
#> <input text> 'requesterNumber':
#> <input hidden> 'action': check
#> <input submit> 'check': Weryfikuj
date <- set_values(form1[[1]], memberStateCode = "AT", number = "4324")
set <- submit_form(session = session1,form = date)
#> Submitting with 'NULL'
之后,提取您感兴趣的值很容易:
set %>%
read_html() %>%
html_table(fill = TRUE) %>%
purrr::pluck(1) %>%
dplyr::slice(4:n()) %>%
dplyr::select(1:2)
#> # A tibble: 6 x 2
#> X1 X2
#> <chr> <chr>
#> 1 PaÅstwo CzÅonkowskie AT
#> 2 Numer VAT AT 4324
#> 3 Data zapytania 2018/05/17 14:33:10
#> 4 Nazwa ---
#> 5 Adres ---
#> 6 Identyfikator zapytania ""
创建日期:2018年5月17日
reprex package
(v0.2.0)。