R 中 URL 的问题

Issues with URL in R

我是 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)

但是,当我将 url 中的页号从 1 更改为 2(或更改为任何其他数字)时,提取的数据与第 1 页中的数据相同。出于某种原因,R没有从正确的页面中提取数据。如果您手动将 link 粘贴到带有特定页面 # 的浏览器中,则它可以正常工作。

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

谢谢!

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

您可能会遇到这个问题,因为 readHTMLTable() 可能不是为处理 URL 片段而创建的。看看你是否能在 URL.

中找到不需要 # 的相同 table 的版本

以下是一些有用的链接,可以帮助您了解您遇到的问题: What is it when a link has a pound "#" sign in it

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

如果我遇到任何其他有用的信息,我会在后续评论中分享。

您可能需要做的是使用 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)

您的 URL 中可能也有元字符。 (我的是空格和反引号。)

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

他们想到了那些 R 家伙的一切。