有没有办法从Twitter API请求中获取链接、标签和@name


Is there any way to get links, hashtags, and @names from Twitter API requests?

我正在构建一个网站,我正在使用Twitterneneneba API来显示用户推文中的数据。它运行良好,但所有的推文都是以纯文本检索的。这意味着,与推特网站不同,所有链接都是纯文本,没有@name是链接,标签完全是静态的。

我假设Twitter使用正则表达式提取这些元素,但我不仅不擅长正则表达式,而且希望结果尽可能接近Twitter的实现。有没有什么方法可以从Twitter API本身获取这些信息?如果没有,我如何才能使解析尽可能接近Twitter?

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

I.E

URL实体

从推文文本中提取的URL数组。每个URL实体具有以下属性:url,display_url,expanded_url,索引

 "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文本索引
Hashtag所在的字符位置从中提取

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

用户声明实体

从推文文本中提取的一组推特屏幕名称。每个用户实体具有以下属性:

id
用户ID(int格式)ID_str用户ID(字符串格式)屏幕名称
用户屏幕名称
用户的全名索引
这个用户提到的字符位置是从中提取的

"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

我相信这就是您想要的:

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