我发现推文状态的格式与我预期的文档格式不同。
import twitter
python_client = get_client() #however you want to do this
tweet_id = 577280319092613121
print client.GetStatus(tweet_id).AsDict()['urls']
{u'https://t.co/8JgjULu4jB': u'https://instagram.com/p/0RSj3ooyL-/'}
但是文档(特别是here)urls字段中的每个条目应该是这样的字典:
{
"url": "https:\/\/t.co\/XdXRudPXH5",
"expanded_url": "https:\/\/blog.twitter.com\/2013\/rich-photo-experience-now-in-embedded-tweets-3",
"display_url": "blog.twitter.com\/2013\/rich-phot\u2026",
"indices": [80, 103]
}
我做错了吗?
编辑(在first answer之后):
我正在尝试使用pymongo在MongoDB中存储一些推文。最初我试图将status.AsDict()
插入到我的集合中,但是MongoDB不允许在键中使用.
字符。所以我有两个问题:
对于我的教育,为什么python-twitter模块使用这种存储结构而不是遵循文档(这对我来说似乎更“自然”)?
更实际的是,还有其他地方status.AsDict()会有类似的行为(重新调整API文档中的键/值)吗?
答案 0 :(得分:0)
当您从urls
数据中选择AsDict()
时,会以
{url: expanded_url}