R中的URL问题

时间:2015-02-11 21:04:43

标签: r url

我是R的新手,我在从福布斯网站上提取数据时遇到了麻烦。

我目前的职能是:

url =

http://www.forbes.com/global2000/list/#page:1_sort:0_direction:asc_search:_filter:All%20industries_filter:All%20countries_filter:All%20states

data = readHTMLTable(url)

但是,当我将网址中的页面#从1更改为2(或更改为任何其他数字)时,提取的数据与第1页中的数据相同。由于某种原因,R不从中提取数据正确的页面。如果您使用特定页面#手动将链接粘贴到浏览器中,那么它可以正常工作。

有没有人知道为什么会这样?

谢谢!

2 个答案:

答案 0 :(得分:1)

这似乎是由URL符号引起的问题,井号表示。它实质上是在页面上创建一个锚点,并指示您的浏览器跳转到该特定位置。

您可能遇到此问题,因为可能无法创建readHTMLTable()来处理URL片段。看看你是否能找到URL中不需要#的同一个表的版本。

以下是一些有用的链接,可能会说明您遇到的问题: What is it when a link has a pound "#" sign in it

https://support.microsoft.com/kb/202261/en-us

如果我发现其他有用的内容,我会在后续评论中分享。

答案 1 :(得分:0)

您可能需要做的是使用R。

中的URLencode()方法
kdb.url <- "http://m1:5000/q.csv?select from data0 where folio0 = `KF"
kdb.url <- URLencode(kdb.url)
df <- read.csv(kdb.url, header=TRUE)

您的网址中也可能包含元字符。 (我的是空间和反击。)

>kdb.url
[1] "http://m1:5000/q.csv?select%20from%20data0%20where%20folio0%20=%20%60KF"

他们想到那些R家伙。