如何使用R在tweet中识别URL

时间:2012-07-11 15:00:01

标签: r url twitter tweets

我想在我的Twitter数据集中识别包含URL的推文。例如,使用“http://”的符号。

如何在R中进行?例如,推文文本是

  "@RainxDog @twitpic Please HELP #OccupyWallStreet and RT this video: http://t.co/vjwNR7TC"

  "@degamuna Please HELP #OccupyWallStreet and RT this video: http://t.co/vjwNR7TC"

3 个答案:

答案 0 :(得分:3)

您可以使用grep

if(length(grep("http://",data))>0){
 data[grep("http://",data)]
}

答案 1 :(得分:2)

你的相对简单的问题,隐藏了一些实际上非常棘手的问题。在您的两个示例中,网址为:

  1. 的格式为:http://t.cp/ - bit.ly链接怎么样?那么https呢?
  2. 网址出现在推文的末尾。那个中间的网址或推文的开头呢?
  3. 构建一组示例推文并确保正则表达式有效。

    基本上,你需要一个正则表达式。 Stackoverflow的问题是:

    1. How to extract a URL from a Tweet with a JavaScript RegEx?
    2. What's the cleanest way to extract URLs from a string using Python?
    3. 这些问题也包含链接。

答案 2 :(得分:0)

您可以使用Twitter Entities获取推文的所有网址。进行REST调用时,请确保包括

&include_entities=true

这将为您提供JSON或XML中称为实体的部分。将有一个名为urls的子节点。

以下是将要返回的内容的示例。

"text": "Twitter for Mac is now easier and faster, and you can open multiple windows at once http://t.co/0JG5Mcq",

    "entities": {

      "media": [

      ],

      "urls": [

        {

          "url": "http://t.co/0JG5Mcq",

          "display_url": "blog.twitter.com/2011/05/twitte…",

          "expanded_url": "http://blog.twitter.com/2011/05/twitter-for-mac-update.html",

          "indices": [

            84,

            103

          ]

        }

      ],

      "user_mentions": [

      ],

      "hashtags": [

      ]

    }

所以,寻找实体 - >请查看推文是否包含指向外部网站的链接。