我可以使用 python Json 库从这个地址中提取信息
http://search.twitter.com/search.json?q=%23damn&result_type=recent&rpp=1&filter:retweets
并且大部分时间使用
j =json.loads(urllib.urlopen('http://search.twitter.com/search.json?q=%23damn&result_type=recent&rpp=1&filter:retweets').read())
text = j['results'][0]['text']
id = j['results'][0]['id']
我可以从结果中提取文本和 ID 并打印它们。我每 15 秒请求一次 JSON,所以我不会被 twitter 的限制阻止。
我经常遇到这种情况。
{u'completed_in': 0.021,
u'max_id': 313306991827238912L,
u'max_id_str': u'313306991827238912',
u'next_page': u'?page=2&max_id=313306991827238912&q=%23damn&rpp=1&result_type=recent',
u'page': 1,
u'query': u'%23damn',
u'refresh_url': u'?since_id=313306991827238912&q=%23damn&result_type=recent',
u'results': [],
u'results_per_page': 1,
u'since_id': 0,
u'since_id_str': u'0'}
结果字段中似乎没有包含任何内容。这会导致以下错误。
Traceback (most recent call last):
File "C:\Users\Home\Desktop\test.py", line 32, in <module>
text = j['results'][0]['text']
IndexError: list index out of range
这反过来又关闭了 Python 命令行。我考虑过放置一个“while”循环以确保在继续之前结果字段已满,但我觉得这可能会发送到许多请求并将脚本锁定在 twitter 之外。
你遇到过这个问题吗?你知道如何克服它吗?