我正在尝试抓取许多网页,这些网页中我需要的链接位于不同的位置(因此CSS选择器不同),但是文本保持不变。我希望能够根据其文本选择链接,因此可以将该链接抓取以备后用。
这是我尝试过的一个例子:
test <- read_html("http://www.yaroslavl.vybory.izbirkom.ru/region/yaroslavl?action=show&global=true&root=762000007&tvd=276200077535&vrn=1001000882950&prver=0&pronetvd=null®ion=76&sub_region=76&type=0&vibid=276200077535", encoding = "windows-1251")
test %>% html_nodes(xpath="//a[contains(text(), 'Сводная таблица о результатах выборов')]/@href")
但是,尽管链接文本是直接从{xml_nodeset (0)}
的输出中复制出来的,但这始终返回test %>% html_nodes("a") %>% html_text()
。
还有其他方法可以尝试基于文本选择链接吗?另外,这可能是编码问题吗?该网站使用Windows-1251编码,我也用这种编码保存了R文件。
答案 0 :(得分:0)
事实证明,如果没有最新的stringi
软件包,这实际上是个问题,这不是依赖性,而是推荐的软件包。我建议任何遇到rvest
编码问题的人都先尝试更新此程序包。