【问题标题】:Rvest XML web scrapingRvest XML 网页抓取
【发布时间】:2018-05-17 12:17:45
【问题描述】:

我是初学者,但我在抓取时遇到了问题。

我需要为一些客户获取有关活动/非活动 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)

【问题讨论】:

    标签: r xml rvest


    【解决方案1】:

    首先你不需要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 package (v0.2.0) 于 2018 年 5 月 17 日创建。

    【讨论】:

      猜你喜欢
      • 2020-07-18
      • 2019-02-17
      • 2018-03-20
      • 2019-10-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多