如何使用RCurl和xFF1F获取数据;
我想通过Rcurl获取数据,当我下载网页时,我想要的数据不在文件中,我如何获取它,任何线索都将不胜感激如何使用RCurl和xFF1F获取数据;,r,rcurl,R,Rcurl,我想通过Rcurl获取数据,当我下载网页时,我想要的数据不在文件中,我如何获取它,任何线索都将不胜感激 require(RCurl) url="http://hk.ishares.com/product_info/fund/holdings/SEHK/2823.htm?ls=true& l=en&periodCd=d" data=getURL(url) write(file="data.html",data) 您在web上看到的以下数据不在data.html中,如何获取 %
require(RCurl)
url="http://hk.ishares.com/product_info/fund/holdings/SEHK/2823.htm?ls=true& l=en&periodCd=d"
data=getURL(url)
write(file="data.html",data)
您在web上看到的以下数据不在data.html中,如何获取
% Net Assets Name Exchange Ticker Trading Exchange SEDOL Market Price
(HKD equivalent) Shares Held Market Value
(HKD equivalent) Sector
9.17 PING AN INSURANCE (GROUP) CO. OF C 601318 XSHG B1SVWB6 50.40 81,991,646 4,132,780,718 Financials
6.25 CHINA MERCHANTS BANK CO. LTD A 600036 XSHG 6518723 12.41 227,242,375 2,819,477,954 Financials
4.86 SHANGHAI PUDONG DEVELOPMENT BANK C 600000 XSHG 6182043 9.15 239,651,727 2,192,915,873 Financials
你的RCurl拉基本上只是下载你连接到它的任何东西。因此,您的输出结果就是该页面底层的HTML。在帮助您方面,我在语言方面处于劣势(我不会说或读中文),但从我在页面源代码中看到的情况来看,似乎所有数据都是使用JavaScript调用的。在执行
getURL()
时,最终得到的是实际JavaScript的副本,而不是数据
最好的解决方案是确定是否有某种API可以让您提取实际数据,而不仅仅是复制HTML本身。我不确定他们是否提供这种服务。然而,另一个完全可行的选择是以电子表格的形式获取数据。看起来有一种方法可以抓取包含数据的CSV文件。您可以获取它,然后使用readlines()
或类似的方法将其解析为数据。我有时会抓取CSV数据用于工作,并使用以下方法将其放入数据框中:
out <- postForm("https://the.api.com/api", token="abcd", format="csv")
mydf <- read.table(textConnection(out),header=TRUE,sep=",",quote="\"")
out您的RCurl pull基本上只下载您连接到它的任何内容。因此,您的输出结果就是该页面底层的HTML。在帮助您方面,我在语言方面处于劣势(我不会说或读中文),但从我在页面源代码中看到的情况来看,似乎所有数据都是使用JavaScript调用的。在执行getURL()
时,最终得到的是实际JavaScript的副本,而不是数据
最好的解决方案是确定是否有某种API可以让您提取实际数据,而不仅仅是复制HTML本身。我不确定他们是否提供这种服务。然而,另一个完全可行的选择是以电子表格的形式获取数据。看起来有一种方法可以抓取包含数据的CSV文件。您可以获取它,然后使用readlines()
或类似的方法将其解析为数据。我有时会抓取CSV数据用于工作,并使用以下方法将其放入数据框中:
out <- postForm("https://the.api.com/api", token="abcd", format="csv")
mydf <- read.table(textConnection(out),header=TRUE,sep=",",quote="\"")
out注意,在该页面上有一个指向的“下载”链接
也许你可以用它来下载数据
我有一个名为getHoldings.iShares
(将由getHoldings
调用)的函数,可以从美国网站下载iShares ETF的持有量
我在美国iShares网站上找不到确切的ETF,但这将获得富时中国25指数基金的持股。也许你可以在中文网站上查看并修改它
[警告一句:iShares.com比我跟踪的任何其他ETF网站更频繁地更改其ETF持有量电子表格的格式,因此这可能会在未来中断。]
您首先需要安装
请注意,在该页面上有一个指向的“下载”链接
也许你可以用它来下载数据
我有一个名为getHoldings.iShares
(将由getHoldings
调用)的函数,可以从美国网站下载iShares ETF的持有量
我在美国iShares网站上找不到确切的ETF,但这将获得富时中国25指数基金的持股。也许你可以在中文网站上查看并修改它
[警告一句:iShares.com比我跟踪的任何其他ETF网站更频繁地更改其ETF持有量电子表格的格式,因此这可能会在未来中断。]
您首先需要安装