收获推特数据

时间:2013-05-22 11:23:19

标签: python json twitter

我有一个脚本可以根据存储在xml中的id收集twitter数据,但它不会获取所有内容。一段时间后,它只是空信息。从2000 ids我设法保存约200条推文。知道如何解决这个问题吗?

import xml.etree.ElementTree as xml
import urllib2
import sys

startIter = int(sys.argv[1])
stopIter = int(sys.argv[2])

#Open file to write JSON to
jsonFile = open('jSONfile', 'a')
#Parse XML directly from the file path
tree = xml.parse("twitter.xml")

#Get the root node
rootElement = tree.getroot()

#Loop through nodes in root
iterator = 1
for node in rootElement:
    if iterator >= startIter and iterator <= stopIter:
        print iterator
        print node[0].text
        nodeID = node[0].text
        try:
            tweet = urllib2.urlopen('https://api.twitter.com/1/statuses/show.json?id={0}&include_entities=true'.format(nodeID))
            tweetData = tweet.read()
            print tweetData
            jsonFile.write('{0}\n'.format(tweetData).',')
        except:
            pass
    iterator = iterator + 1
jsonFile.close() 

1 个答案:

答案 0 :(得分:1)

Twitter API有严格的API限制。他们限制了他们的API。如果您经常使用他们的API,他们很可能会永久或在一段固定的时间内停止向您提供内容。要了解确切的限制,请检查API Rate LimitingRate limits

此外,Twitter自己承认,他们必须处理普通API的数据量大约占实际数据的1%。如果您想要特定API类型的整个数据集,那么您需要访问他们的Twitter Firehouse API。