我正在研究一个研究国家发行的市政债券的项目,但我无法获取我的数据.使用XML包和下面的代码我能够得到一些.
> nys="http://newyork.municipalbonds.com/bonds/issue/649787N87"
> nys.table=readHTMLTable(nys,asText=TRUE,which=4)
> nys.table=as.data.frame(nys.table)
> head(nys.table)
Trade Date Trade Time Maturity Date Coupon Price Yield Trade Amount Trade Type
1 2012-09-27 2:49pm 2013-Apr 5.000% 102.522 0.289 $270,000 Investor bought
2 2012-09-27 1:17pm 2013-Apr 5.000% 102.290 0.712 $45,000 Inter-dealer
Run Code Online (Sandbox Code Playgroud)
但该网站仅提供免费的小样本.官方网站,EMMA免费提供数据,但我正在刮胡子.当我尝试与之前相同的方法时,我最终得到了
nys="http://emma.msrb.org/SecurityView/SecurityDetailsTrades.aspx?cusip=649787N87"
nys.table=readHTMLTable(nys,asText=TRUE)
nys.table=as.data.frame(nys.table)
head(nys.table)
data frame with 0 columns and 0 rows
Run Code Online (Sandbox Code Playgroud)
根据我的理解,我对此非常肯定,当你通过网络浏览器导航到它时,有一个标准的T&C页面.使用htmlParse(nys)后,输出与T&C页面的页面源代码相同,而不是数据实际所在的页面.因此,当代码运行时,它正在尝试在T&C页面上查找表.
我认为这将是一个相当普遍的问题,但到目前为止,我还没有找到任何有类似问题的帖子.如果有人能指出我正确的方向,我将非常感激.