python-3.x - Twitter API:如何让查询继续运行?
问题描述
新手程序员在这里寻求帮助。
我已经根据我的要求设置了我的代码以使用 Twitter 的高级 API。
SEARCH_TERM = '#AAPL OR #FB OR #KO OR #ABT OR #PEPCO'
PRODUCT = 'fullarchive'
LABEL = 'my_label'
r = api.request('tweets/search/%s/:%s' % (PRODUCT, LABEL),
{'query':SEARCH_TERM, 'fromDate':201501010000, 'toDate':201812310000})
但是,当我运行它时,我获得了每次搜索的最大推文数,即 500。我的问题是我应该添加到查询 maxResults = 500 中吗?以及如何使用下一个参数来保持代码运行,直到获得与我的查询对应的所有推文?
解决方案
要将结果从默认值 100 提高到 500,是的,maxResults
像这样添加到查询中:
r = api.request('tweets/search/%s/:%s' % (PRODUCT, LABEL),
{
'query':SEARCH_TERM,
'fromDate':201501010000, 'toDate':201812310000,
'maxResults':500
})
您可以使用该next
参数进行连续查询以获得更多结果。但是,更简单的是,您可以通过使用该类让TwitterAPITwitterPager
为您执行此操作。这是一个例子:
from TwitterAPI import TwitterAPI, TwitterPager
SEARCH_TERM = '#AAPL OR #FB OR #KO OR #ABT OR #PEPCO'
PRODUCT = 'fullarchive'
LABEL = 'my_label'
api = TwitterAPI(<consumer key>,
<consumer secret>,
<access token key>,
<access token secret>)
pager = TwitterPager(api, 'tweets/search/%s/:%s' % (PRODUCT, LABEL),
{
'query':SEARCH_TERM,
'fromDate':201501010000, 'toDate':201812310000
})
for item in pager.get_iterator():
print(item['text'] if 'text' in item else item)
此示例将继续使用next
参数发出连续请求,直到无法下载任何推文。
推荐阅读
- python - 我用 pyqt5 创建了一个对话,但是发生了 0xC0000409 错误。我怎么解决这个问题?
- c# - Unity 无法同步节奏游戏的音频和视觉效果
- python - 我想播放文件夹中选定的 mp3 文件,但它不起作用
- postgresql - Ms Access to PostreSQL 不显示附件 & 反之亦然
- php - 如何使用外键打印表格
- android - 模拟器:错误:无法从内核映像文件中获取内核版本
- c - 重命名函数并确定其工作方式
- nodes - 如何使用 bc 从头节点到客户端节点
- javascript - 使用 router.put 和 router.delete 的 PUT 和 GET 方法不起作用(快递)
- java - 更新 MutableLiveData 时可观察到的抛出异常