我是初学者,刮擦有问题。
我需要为一些客户获取有关活动/非活动VEIS号码的数据。现在,我只试一次。在网站上,我必须:设置值并发送表单,然后浏览器重定向到下一页,在那里我可以找到一个有趣的日期。
下面我发了密码。也许有人能帮忙。
library(rvest)
library(XML)
url <- 'http://ec.europa.eu/taxation_customs/vies/vatResponse.html?
locale=pl'
session1 <- html_session(url)
form1 <-html_form(session1)
form1
date <- set_values(form1[[1]], requesterMemberStateCode = "AT-
Austria",requesterNumber = "4324")
date
set <- submit_form(session = session1,form = date)发布于 2018-05-17 12:32:43
首先,您不需要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 ""由reprex封装创建于2018-05-17 (v0.2.0)。
https://stackoverflow.com/questions/50391282
复制相似问题