我正在构建一个网站,我正在使用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