我有一个脚本可以根据存储在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()
答案 0 :(得分:1)
Twitter API有严格的API限制。他们限制了他们的API。如果您经常使用他们的API,他们很可能会永久或在一段固定的时间内停止向您提供内容。要了解确切的限制,请检查API Rate Limiting和Rate limits
此外,Twitter自己承认,他们必须处理普通API的数据量大约占实际数据的1%。如果您想要特定API类型的整个数据集,那么您需要访问他们的Twitter Firehouse API。