を照会I持っhttps://www.karambelkar.info/2015/01/how-to-use-twitters-search-rest-api-most-effectively./ループは、RESTのAPI
問題に応じたツイートを引っ張る作業REST検索APIスクリプト:このコードは動作しますが、searchQuery1
とsearchQuery2
とのつぶやきを引っ張ります。 (例えば、Prostate Cancer
+ Colon Cancer
のつぶやき)。私はこれを望んでいない。代わりに、私はsearchQuery1
(つぶやきのみProstate Cancer
)とつぶやきのすべてを取得し、そしてすべてのつぶやきをsearchQuery2
から(つぶやきのみColon Cancer
)から取得したいと思います。クエリは個別に実行する必要があります。
目標:検索クエリのX数(例えばsearchQuery1
、searchQuery2
、など)
ありがとうオーバー順次ループ!
searchQuery1 = 'Prostate Cancer'
searchQuery2 = 'Colon Cancer'
maxTweets = 10000
tweetsPerQry = 100
fprefix = 'REST'
sinceId = None
max_id = -1L
tweetCount = 0
with open('/Users/eer/Desktop/' + fprefix + '.' + time.strftime('%Y-%m-%d_%H-%M-%S') + '.json', 'a+') as f: #open file
while tweetCount < maxTweets:
try:
if (max_id <= 0):
if (not sinceId):
for x,y in zip(searchQuery1,searchQuery2):
new_tweets = api.search(q=[searchQuery1, searchQuery2], count=tweetsPerQry)
else:
print "sinceID 1"
new_tweets = api.search(q=[searchQuery1, searchQuery2], count=tweetsPerQry,
since_id=sinceId)
else:
if (not sinceId):
print "not sinceID 2"
new_tweets = api.search(q=[searchQuery1, searchQuery2], count=tweetsPerQry,
max_id=str(max_id - 1))
else:
print "sinceID 1"
new_tweets = api.search(q=[searchQuery1, searchQuery2], count=tweetsPerQry,
max_id=str(max_id - 1),
since_id=sinceId)
if not new_tweets:
print("No more tweets found")
break
for tweet in new_tweets:
f.write(jsonpickle.encode(tweet._json, unpicklable=False) +
'\n')
tweetCount += len(new_tweets)
max_id = new_tweets[-1].id
except tweepy.TweepError as e:
print("some error : " + str(e))
break
print ("Downloaded {0} tweets, Saved to {1}".format(tweetCount, fprefix))
あなたはsearchQuery2を含まないsearchQuery1を含む最後の週のすべてのつぶやきを取得したいしたい、そして最後に、すべてのつぶやきを取得してくださいsearchQuery1を含まないsearchQuery2を含む週? – Jonas