我是一个初学者,我在抓取方面遇到了问题。
我需要获取有关一些客户的活动/非活动 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)
首先你不需要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-05-17代表包 http://reprex.tidyverse.org(v0.2.0)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)