3

我想抓取一个新的 stackexchange 网站的主页:https ://webapps.stackexchange.com/ (只有一次,并且只有几个页面,没有什么应该打扰服务器)。如果我想从 stackoverflow 获得它,我知道有一个数据库转储,但是对于新的 stackexchange,它们还不存在。

这就是我想要做的。

第一步:选择网址

URL <- "https://webapps.stackexchange.com/"

第二步:读表

readHTMLTable(URL)  # oops, doesn't work - gives NULL

第 2 步:这一次,让我们用 XML 试试吧

htmlTreeParse(URL) # o.k, this reads the data - but it is all in <div> - now what?

所以我能够阅读页面,但现在结构在 div 中。现在如何使用它来创建与 readHTMLTable 相同的东西?

4

2 回答 2

8

您可以使用包(使用 StackExchange API)来执行overflowr操作。只需使用 get.questions() 函数并提供站点前缀。它不在 CRAN 上,因为它不完整,但您可以下载并构建它。

library(overflowr)
questions <- get.questions(50)

对于统计网站,前 5 个最近的问题:

questions <- get.questions(top.n=5, site="stats.stackexchange")

顺便说一句,很高兴让更多的人参与这个项目,因为我没有更多的时间花在这个项目上。 来自 Stats.Exchange 的三位版主目前正在研究它

于 2010-08-20T17:37:01.197 回答
0

你用什么写这个?我编写了一个从网络抓取(链接)中解析出来的应用程序。我会更乐意分享逻辑。

于 2010-08-20T17:32:58.547 回答