【发布时间】:2011-03-23 07:21:27
【问题描述】:
我正在尝试使用 Python 获取给定主题标签的 Twitter API 搜索结果,但我遇到了“无法解码 JSON 对象”错误。我必须在 URL 末尾添加额外的 % 以防止出现字符串格式错误。这个 JSON 错误是否与额外的 % 有关,还是由其他原因引起的?任何建议将不胜感激。
一个sn-p:
import simplejson
import urllib2
def search_twitter(quoted_search_term):
url = "http://search.twitter.com/search.json?callback=twitterSearch&q=%%23%s" % quoted_search_term
f = urllib2.urlopen(url)
json = simplejson.load(f)
return json
【问题讨论】:
-
响应的实际内容是什么?使用您的代码,您可以通过
content = f.read()之类的内容找到它。 -
我使用了您的代码并尝试打印内容,但得到了同样的错误:JSONDecodeError: No JSON object could be decoded: line 1 column 0 (char 0) function pull_tweets in twitter_puller_1.py at line 28 data1 = search_twitter(query1) function search_twitter in twitter_puller_1.py at line 14 json = simplejson.load(f) function load in untitled at line 328 None function load in untitled at line 384 None function decode in untitled at line 402 obj, end = self. raw_decode(s, idx=_w(s, 0).end()) function raw_decode in untitled at line 420 raise JSONDecodeError("No JSON object could be decoded", s, idx)
-
见 blcArmadillo 的回答。您需要从您对 Twitter 的请求中删除
callback参数。像url = "http://search.twitter.com/search.json?q=%s" % quoted_search_term这样的东西应该可以工作。
标签: python json twitter simplejson