我正在建立一个网站,我正在使用Twitter API来显示来自用户推文的数据。它工作正常,但所有推文都以纯文本格式检索。这意味着,与Twitter网站不同,所有链接都只是纯文本,没有@names是链接,并且主题标签完全是静态的。
我认为Twitter使用正则表达式来提取这些元素,但不仅我在正则表达式上相当差,我希望结果尽可能接近Twitter的实现。有没有办法从Twitter API本身提取这些?如果没有,我怎么能尽可能接近Twitter的解析?
答案 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": [
]
}
此链接上的更多推文实体:
答案 1 :(得分:0)
我相信这就是你要找的东西: