接下来发生了什么?
import json, urllib
url = "funnyfurniture.net/p/10/oops-chair/"
url2 = "http://funnyfurniture.net/p/10/oops-chair/"
tw_url = "http://urls.api.twitter.com/1/urls/count.json?url=%s" %url
tw_url2 = "http://urls.api.twitter.com/1/urls/count.json?url=%s" %url2
js2 = json.load(urllib.urlopen(tw_url))
js = json.load(urllib.urlopen(tw_url2))
print js2, js
它给了
{u'count': 0, u'url': u'http://funnyfurniture.net/p/10/oops-chair/'} {u'count': 1, u'url': u'http://funnyfurniture.net/p/10/oops-chair/'}
有什么区别?
Twitter API 会规范化 url,因此当您传入
cnn.com
时,它会自动将其转换为 http://cnn.com
:
% curl 'http://urls.api.twitter.com/1/urls/count.json?url=foo'
{"count":0,"url":"http://foo/"}
您看到的计数差异可能是 Twitter 方面的临时错误,例如在标准化 url 之前计算计数。
由于 Twitter 基础设施位于云端,因此可能会出现复制数据“错误”。所有节点都没有很好地同步。