Tweety查询不会检索所有关键字/永远不会完成一天的结果

时间:2018-04-19 15:54:01

标签: python loops twitter keyword tweepy

我试图从固定的加密货币列表中检索所有推文,但查询完全被破坏了。当我一次查找所有条款时,推文的总数明显低于我只查找1或2个关键字的时间。

但即使我得到了所有结果,还有第二个问题:脚本永远不会完成执行。该代码应该在前天查找所有推文,从23:59:59获取数据并向后返回00:00:00,此时它应该停止。

相反,它确实从23:59:59开始,但在一个循环结束,回到这个时间并检索相同的推文。有时它会到达00:00:00,但通常会在23:59:59再次开始之前进入随机时间(例如14:23:57,09:47:12),具体取决于特定日期的推文数量。

这是我的代码(我使用的是python 3.6):

import tweepy
import csv
import datetime
from tweepy import OAuthHandler
from datetime import timedelta

consumer_key = 'XXX'
consumer_secret = 'XXX'
access_token = 'XXX'
access_secret = 'XXX'

auth = OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_secret)  

api = tweepy.API(auth, wait_on_rate_limit=True)

today_string = datetime.datetime.today().strftime('%d%b%Y')
d1 = (datetime.datetime.today() - timedelta(days=1)).strftime("%Y-%m-%d")
d2 = (datetime.datetime.today() - timedelta(days=2)).strftime("%Y-%m-%d")

csvFile = open('cryptos' + today_string + '.csv', 'w+')
csvWriter = csv.writer(csvFile)

# This is the regular query
query = 'Ethereum OR Cardano OR #XVG OR $XVG OR #Verge' \
        '#ADA OR $ADA OR $EOS OR #EOS #ETH OR $ETH OR' \
        '#XEM OR $NEM OR MaidSafeCoin OR Zcash OR Zcoin' \
        '#ZEC OR $XZC OR #MAID OR $MAID OR Monero OR #XMR OR $XMR'
# When I test with just two terms (an example below) the results are significantly higher 
#query = "#XVG OR $XVG"

for tweet in tweepy.Cursor(api.search,q=query  ,count=100,
                       since=d2, until=d1, lang="en").items():
    print (tweet.created_at, tweet.user.name, tweet.text)
    csvWriter.writerow([tweet.created_at, tweet.user.screen_name, 
                          tweet.text.encode('utf-8')])

csvFile.close()

非常感谢任何帮助!

0 个答案:

没有答案