python - 来自搜索 api 的推文是否重叠?

标签 python twitter python-twitter

我是 twitter api 的新手,想知道我是否使用搜索 api,我想每分钟调用一次,以检索大约 1000 条推文。如果针对给定标准创建的推文少于 1000 条,我是否会收到重复的推文,或者我会更频繁地每分钟调用一次

我希望我的问题很清楚,以防万一我使用 python-twitter 库。 我获取推文的方式是:

self.api = twitter.Api(consumer_key, consumer_secret ,access_key, access_secret)
self.api.VerifyCredentials()
self.api.GetSearch(self.hashtag, per_page=100)

最佳答案

您的搜索结果会重叠,因为 API 不知道您之前搜索过什么。防止重叠的一种方法是使用来自上次检索的推文的推文 ID。这是我的代码中的 python 2.7 片段:

maxid = 10000000000000000000
for i in range(0,10):
    with open('output.json','a') as outfile: 
        time.sleep(5) # don't piss off twitter
        print 'maxid=',maxid,', twitter loop',i
        results = api.GetSearch('search_term', count=100,max_id = maxid)
        for tweet in results:
            tweet = str(tweet).replace('\n',' ').replace('\r',' ') # remove new lines
            tweet = (json.loads(tweet))
            maxid = tweet['id'] # redefine maxid
            json.dump(tweet,outfile)
            outfile.write('\n') #print tweets on new lines

此代码为您提供自上次 id 以来 100 条推文的 10 次循环,每次循环都定义该 id。然后它会写入一个 json 文件(每行一条推文)。我使用此代码搜索最近的过去,但您可以通过将“max_id”更改为“since_id”来调整它以使其具有非重叠推文。

关于python - 来自搜索 api 的推文是否重叠?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16399800/

相关文章:

python - 从 Azure Databricks 删除 SQL 数据库中的表

python - 使用带有浮点值的列表运算符 "in"

python - 在 conda 中找不到安装包

python - Twitter API 1.1 的最佳 Python-Wrapper 是什么?

python - 如何扩展 python 模块?向 `python-twitter` 包添加新功能

Python行与列之间的交互

python - 如何在Python中按总位数(包括整数部分)而不是固定位数进行舍入?

url - 如何获得像 url 附加字符串一样的 twitter,即 twitter inc?

javascript - 推特图片上传错误: media parameter is missing

node.js - Twitter 无法读取 SSR vue.js 应用程序上的元标记