【问题标题】:rvest: how to capture a string after a specific textrvest:如何在特定文本之后捕获字符串
【发布时间】:2017-12-15 09:57:31
【问题描述】:

我在页面上:https://aplikacje.nfz.gov.pl/umowy/AgreementsPlan/GetPlans?ROK=2017&ServiceType=03&ProviderId=104056&OW=01&OrthopedicSupply=False&Code=3202801&AgreementTechnicalCode=1030545

有一些值的标题

Rok: 2017
Oddział wojewódzki: Dolnośląski Oddział Wojewódzki Narodowego Funduszu  Zdrowia
Kod świadczeniodawcy: 3202801
Nazwa świadczeniodawcy: CHIRPLAST SPÓŁKA JAWNA IWONA RYCHLIK, DARIUSZ RYCHLIK
Kod umowy: 03/1/3202801/01/2017/01
Nazwa rodzaju świadczenia: Leczenie szpitalne

我只想抓取“Kod umowy”之后的值

03/1/3202801/01/2017/01

我明白我需要填写参数

 kod_umowy <- html_nodes(pg, ????? )

对于 x-path 或 css 节点,但没有标识符(在我看来是这样)可以识别位置,而是在值之前的字符串。

是否可以抓取出现在特定字符串之后的第一个字符串? (可能在此页面的情况下,这意味着要跨越/忽略某些 html 语法,以获取该行中的下一个字符串)。

【问题讨论】:

    标签: r rvest


    【解决方案1】:
    library(rvest)
    
    pg <- read_html("https://aplikacje.nfz.gov.pl/umowy/AgreementsPlan/GetPlans?ROK=2017&ServiceType=03&ProviderId=104056&OW=01&OrthopedicSupply=False&Code=3202801&AgreementTechnicalCode=1030545")
    
    html_nodes(pg, xpath=".//div[contains(., 'Kod umowy:') and contains(@class, 'col-sm-3')]/following-sibling::div[2]") %>% 
      html_text()
    ## [1] "03/1/3202801/01/2017/01"
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-09-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-02
      相关资源
      最近更新 更多