【问题标题】:How to identify url in tweet using R如何使用 R 识别推文中的 url
【发布时间】:2012-07-11 05:47:37
【问题描述】:

我想在我的推特数据集中识别那些包含 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"

【问题讨论】:

    标签: r url twitter tweets


    【解决方案1】:

    你可以使用 grep

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

    【讨论】:

      【解决方案2】:

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

      1. 的形式为:http://t.cp/ - bit.ly 链接呢? https呢?
      2. 网址出现在推文的末尾。推文中间或开头的网址呢?

      构建一组示例推文并确保您的正则表达式有效。

      基本上,您需要一个正则表达式。要查看的 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】:

        您可以使用Twitter Entities 获取推文的所有 URL。进行 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": [
        
              ]
        
            }
        

        因此,查找实体 -> url 以查看推文是否包含指向外部站点的链接。

        【讨论】:

          猜你喜欢
          • 2012-08-04
          • 1970-01-01
          • 2011-07-27
          • 1970-01-01
          • 1970-01-01
          • 2023-04-05
          • 2023-04-08
          • 2017-04-18
          • 2012-10-12
          相关资源
          最近更新 更多