使用rvest读取html时出现不希望出现的反斜杠

使用rvest读取html时出现不希望出现的反斜杠,html,r,web-scraping,rvest,backslash,Html,R,Web Scraping,Rvest,Backslash,我正在尝试使用rvest阅读一个网站,我的代码如下: pg <- read_html("https://www.gob.mx/presidencia/archivo/prensa?utf8=%E2%9C%93&idiom=es&style=list&order=DESC&filter_id=&filter_origin=archive&tags=&year=&category=Discursos+del+Presidente&

我正在尝试使用rvest阅读一个网站,我的代码如下:

pg <- read_html("https://www.gob.mx/presidencia/archivo/prensa?utf8=%E2%9C%93&idiom=es&style=list&order=DESC&filter_id=&filter_origin=archive&tags=&year=&category=Discursos+del+Presidente&year=&category=Discursos+del+Presidente")
更新

  • 此错误似乎仅在将rvest与墨西哥IP一起使用时发生:/

  • 之后,我尝试使用regex清理我的对象(“pg”)

  • 因此,当查看pg div类时,有如下两个反斜杠:

    pg 
    #Result: <div class='\\"col-md-12' small-bottom-buffer>
    
    pg
    #结果:
    
    如果我试图删除一个反斜杠,它似乎有效,我只剩下一个:

    pg2 <- gsub("\\\\", "", pg)
    pg2
    #Result: <div class='\"col-md-12' small-bottom-buffer>
    

    pg2我对rvest不够熟悉,无法提供rvest解决方案,但您可以使用readLines和grep查找您要查找的数据。然后可以使用正则表达式来清理它

    pg3 <- readLines("https://www.gob.mx/presidencia/archivo/prensa?utf8=%E2%9C%93&idiom=es&style=list&order=DESC&filter_id=&filter_origin=archive&tags=&year=&category=Discursos+del+Presidente&year=&category=Discursos+del+Presidente")
    
    grep('<a class=\"small-link\"', pg3, value = TRUE)
    grep('<a class="small-link"', pg3, value = TRUE)
    grep('<a class=\\"small-link\\"', pg3, value = TRUE)
    

    我对rvest不太熟悉,无法提供rvest解决方案,但您可以使用readLines和grep来查找您要查找的数据。然后可以使用正则表达式来清理它

    pg3 <- readLines("https://www.gob.mx/presidencia/archivo/prensa?utf8=%E2%9C%93&idiom=es&style=list&order=DESC&filter_id=&filter_origin=archive&tags=&year=&category=Discursos+del+Presidente&year=&category=Discursos+del+Presidente")
    
    grep('<a class=\"small-link\"', pg3, value = TRUE)
    grep('<a class="small-link"', pg3, value = TRUE)
    grep('<a class=\\"small-link\\"', pg3, value = TRUE)
    

    我不能复制这个;这对我来说很好。更新,也许?看起来引号由于某种原因没有被解析;反斜杠是为了显示它们是文本的一部分,而不是作为字符串的分界。是的,它们不能重现这个错误,但是,墨西哥的每个人都会因为某种原因犯同样的错误,这只是巧合吗?我不能重现这个错误;这对我来说很好。更新,也许?看起来引号由于某种原因没有被解析;反斜杠是用来表示它们是文本的一部分,而不是字符串的分界。是的,它们不能重现这个错误,但是,墨西哥的每个人都会因为某种原因犯同样的错误,这只是巧合吗?
    pg2 <- gsub("\\\\", "", pg)
    pg2
    #Result: <div class='\"col-md-12' small-bottom-buffer>
    
    pg3 <- gsub("\\\\\\\\", "", pg)
    pg3
    #<div class='\\\"col-md-12' small-bottom-buffer>
    
    pg3 <- readLines("https://www.gob.mx/presidencia/archivo/prensa?utf8=%E2%9C%93&idiom=es&style=list&order=DESC&filter_id=&filter_origin=archive&tags=&year=&category=Discursos+del+Presidente&year=&category=Discursos+del+Presidente")
    
    grep('<a class=\"small-link\"', pg3, value = TRUE)
    grep('<a class="small-link"', pg3, value = TRUE)
    grep('<a class=\\"small-link\\"', pg3, value = TRUE)
    
    > print("test"test")
    Error: unexpected symbol in "print("test"test"
    > print('test"test')
    [1] "test\"test"
    > print("test\"test")
    [1] "test\"test"