Xml 获取url中的字符串(web抓取)
我不熟悉网页抓取,虽然我已经设法在一些地方获得了一些内容。然而,这次虽然我的问题看起来很简单,但我无法在网页中获取包含符号、名称和市场的字符串。也就是说,我想得到字符串“Merck KGaA(MRK.DE) -“XETRA”在url中。我尝试了以下代码,返回了几个表,但我找不到我想要的部分:Xml 获取url中的字符串(web抓取),xml,r,httr,Xml,R,Httr,我不熟悉网页抓取,虽然我已经设法在一些地方获得了一些内容。然而,这次虽然我的问题看起来很简单,但我无法在网页中获取包含符号、名称和市场的字符串。也就是说,我想得到字符串“Merck KGaA(MRK.DE) -“XETRA”在url中。我尝试了以下代码,返回了几个表,但我找不到我想要的部分: url <- 'https://finance.yahoo.com/q?s=MRK.DE&ql=0' require(httr) require(XML) table <- readHT
url <- 'https://finance.yahoo.com/q?s=MRK.DE&ql=0'
require(httr)
require(XML)
table <- readHTMLTable(content(GET(url)),header=TRUE)
url这可能不是这里最有效的脚本,但它肯定能工作:
library(rvest)
library(magrittr)
library(stringr)
html(url) %>%
html_nodes("h2") %>%
extract2(3) %>%
as('character') %>%
str_replace('<h2>', '') %>%
str_replace('</h2>', '')
[1] "Merck KGaA (MRK.DE)"
库(rvest)
图书馆(magrittr)
图书馆(stringr)
html(url)%>%
html_节点(“h2”)%>%
抽提物2(3)%>%
作为('字符')%>%
str_替换('',)%>%
str_替换(“”,“”)
[1] “默克KGaA公司(德国默克公司)”
非常感谢您的帮助。您知道为什么字符串没有被我尝试过的更直接的调用捕获吗?一方面,如果可能的话,我想使用base R或一些标准包,如XML
或httr
/RCurl
。另一方面,代码越简单越好。rvest
实际上是Hadley最近发布的一个包,用于从Python镜像漂亮的汤。我发现它是最直观的,没有强大的HTML工作知识。在您的示例中,readHTMLTable
只会从给定页面中刮取表格数据,它看起来不像“Merck…”放在表格中。您可以让它简单一点:html(url)%%>%html\U节点(“h2”)%%>%html\U文本()%%>%.[3]
谢谢@hadley!我当然更喜欢你的答案。当我遇到这个问题时,我还在摆弄你的包裹。一如既往,感谢您让我的生活更轻松。:)