Twitter API:如何使查询保持 运行?
Twitter API: How to make query keep running?
新手程序员在此寻求帮助。
我已经根据使用 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 吗?以及我如何使用下一个参数来保持代码 运行ning 直到获得与我的查询对应的所有推文?
在raw_query中使用计数变量,例如:
results = api.GetSearch(
raw_query="q=twitter%20&result_type=recent&since=2014-07-19&count=100")
要将结果从默认的 100 增加到 500,是的,将 maxResults
添加到查询中,如下所示:
r = api.request('tweets/search/%s/:%s' % (PRODUCT, LABEL),
{
'query':SEARCH_TERM,
'fromDate':201501010000, 'toDate':201812310000,
'maxResults':500
})
您可以使用 next
参数进行连续查询以获得更多结果。但是,更简单的是,您可以让 TwitterAPI 使用 TwitterPager
class 为您完成此操作。这是一个例子:
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
参数连续发出请求,直到无法下载任何推文。
新手程序员在此寻求帮助。
我已经根据使用 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 吗?以及我如何使用下一个参数来保持代码 运行ning 直到获得与我的查询对应的所有推文?
在raw_query中使用计数变量,例如:
results = api.GetSearch(
raw_query="q=twitter%20&result_type=recent&since=2014-07-19&count=100")
要将结果从默认的 100 增加到 500,是的,将 maxResults
添加到查询中,如下所示:
r = api.request('tweets/search/%s/:%s' % (PRODUCT, LABEL),
{
'query':SEARCH_TERM,
'fromDate':201501010000, 'toDate':201812310000,
'maxResults':500
})
您可以使用 next
参数进行连续查询以获得更多结果。但是,更简单的是,您可以让 TwitterAPI 使用 TwitterPager
class 为您完成此操作。这是一个例子:
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
参数连续发出请求,直到无法下载任何推文。