有没有办法从Twitter API请求中获取链接,主题标签和@names?

时间:2012-07-20 22:26:58

标签: php regex twitter

我正在建立一个网站,我正在使用Twitter API来显示来自用户推文的数据。它工作正常,但所有推文都以纯文本格式检索。这意味着,与Twitter网站不同,所有链接都只是纯文本,没有@names是链接,并且主题标签完全是静态的。

我认为Twitter使用正则表达式来提取这些元素,但不仅我在正则表达式上相当差,我希望结果尽可能接近Twitter的实现。有没有办法从Twitter API本身提取这些?如果没有,我怎么能尽可能接近Twitter的解析?

2 个答案:

答案 0 :(得分:4)

看看Tweet Entities。您可以将参数&tweet_entities=1添加到某些REST调用的末尾。 JSON响应将包含您查找的属于推文的额外属性。

  

网址实体

     

从推文文本中提取的一系列网址。每个URL实体都来了   具有以下属性:    url,display_url,expanded_url,indices

 "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": [
      ]
    }
  

主题标签实体

     

从推文文本中提取的一组主题标签。每个标签   实体具有以下属性:

     

文本
  标签文本索引
  Hashtag的角色定位   摘自

    "text": "Loved #devnestSF"
>     "entities": {
>       "media": [
>       ],
>       "urls": [
>       ],
>       "user_mentions": [
>       ],
>       "hashtags": [
>         "text": "devnestSF"
>         "indices": [
>           6,
>           16
>         ]
>       ]
>     }
  

user_mentions实体

     

从Tweet文本中提取的一系列Twitter屏幕名称。每   用户实体具有以下属性:

     

ID
  用户ID(int格式)id_str   用户ID(字符串格式)   SCREEN_NAME
  用户屏幕名称名称   用户的全名索引
  该   用户提及的字符位置是从

中提取的
"text": "@rno Et demi!"
    "entities": {
      "media": [
      ],
      "urls": [
      ],
      "user_mentions": [
        {
          "id": 22548447,
          "id_str": "22548447",
          "screen_name": "rno",
          "name": "Arnaud Meunier",
          "indices": [
            0,
            4
          ]
        }
      ],
      "hashtags": [
      ]
    }

此链接上的更多推文实体:

https://dev.twitter.com/docs/tweet-entities

答案 1 :(得分:0)

我相信这就是你要找的东西:

https://dev.twitter.com/docs/api/1/get/statuses/oembed