首页
学习
活动
专区
圈层
工具
发布

Rvest抓取
EN

Stack Overflow用户
提问于 2018-05-17 12:17:45
回答 1查看 1.4K关注 0票数 2

我是初学者,刮擦有问题。

我需要为一些客户获取有关活动/非活动VEIS号码的数据。现在,我只试一次。在网站上,我必须:设置值并发送表单,然后浏览器重定向到下一页,在那里我可以找到一个有趣的日期。

下面我发了密码。也许有人能帮忙。

代码语言:javascript
复制
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)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-05-17 12:32:43

首先,您不需要XML包,rvest就足够了。

您的表单提交部分几乎是正确的,您只是输入了错误的字段名。

代码语言:javascript
复制
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'

在此之后,提取您感兴趣的值很容易:

代码语言:javascript
复制
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)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50391282

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档