2

Rを使用して、いくつかのブログからいくつかの情報を取得しようとしています。取得したいデータは次のとおりです。

1) Date posted
2) Blog Post Title
3) Number of Comments
4) Number of Facebook likes.

このブログには、私が収集しようとしているすべてのフィールドがあります

理想的には、次のようなデータフレームが必要です。

Post_Date      CommentCount       FB_Likes   Title
2012-12-05          1                 629      The James and Claudia Kripalu Workshop– The Daily Practice: Finding Success From Within
  ...              ...                ...          ...

Rでこれを行う方法はありますか?それはできるかもしれない何かのように思えますRCurlが、私はあまり精通していませんhtml/xml/js/etc

これまでのところ、これは私が持っているものです:

library(RCurl)
library(XML)
xmlTreeParse(getURI("http://www.jamesaltucher.com"))

これを実行すると、開き角かっこと閉じかっこが一致しないというエラーが発生します。

注:これらは私のブログではないため、ブログまたはそのFBアカウントへの管理者アクセス権がありません。

4

3 に答える 3

3

Facebookのようにするのは難しいです。私は解決策を見るために興味を持っています。日付をgsubで処理して、きれいな形式にします。

library(XML)
library(RCurl)
url.link <- 'http://www.jamesaltucher.com/'
blog <- getURL(url.link)
blog          <- htmlParse(blog, encoding = "UTF-8")
titles  <- xpathSApply (blog ,"//*[@class='article']/h2/a",xmlValue)             ## titles
dates   <- xpathSApply (blog ,"//*[@class='article']/h2/span/text()",
             function(x) {
                 y <- gsub('.*on(.*)Post.*','\\1',xmlValue(x))
               }
             )
dates <- dates[dates != 'Posted by ']
于 2012-12-05T18:48:16.750 に答える
1

まず、解析する必要があります。そのように使用しHtmlないでください。これは、不適切に形成されたhtmlを処理しようとします。いくつかのxpathの例は次のとおりですXmlhtmlParse

library(RCurl)
library(XML)
blogdata<-htmlParse(getURI("http://www.jamesaltucher.com"))
postDetail<-xpathSApply(blogdata,'/*//span[@class=\"details\"]',xmlValue)
title<-xpathSApply(blogdata,'/*//h2/a',xmlValue)

ページがこれらにアクセスするためのスクリプトを呼び出しているように見えるので、Facebookのいいねなどを取得するのは難しいと思います。

于 2012-12-05T18:38:32.030 に答える
1

XPathは、Webコンテンツをスクレイピングするのに非常に簡単に使用できることがわかりました。以下はあなたを助けるかもしれないいくつかの記事です。

お役に立てれば。

于 2012-12-05T17:50:36.847 に答える