了解python中的Twitter Premium API沙盒



我已经有了Twitter标准API(我最近获得了批准,还没有使用Twitter API(,因为我需要收集历史推文。所以我必须升级到高级API,但我是否应该选择API沙箱在付费前测试我的代码并升级高级API完整存档?我担心会丢失一些推文并减少请求。我对一些运算符的理解有点困惑results_per_call=100。。max_results=100。。它们是什么意思?我可以选择任何号码来获取更多推文吗?我每天可以使用多少个请求?我在python中找到了我将使用它来收集的代码?它正确吗?我是python的初学者
在哪里可以在我的计算机上找到JSON文件。?以及如何将该文件转换为.cvs?

!pip install searchtweets
!pip install yaml
import yaml
config = dict(
search_tweets_api = dict(
account_type = 'premium',
endpoint = 'https://api.twitter.com/1.1/tweets/search/fullarchive/YOUR_LABEL.json',
consumer_key = 'YOUR_CONSUMER_KEY',
consumer_secret = 'YOUR_CONSUMER_SECRET'
))
with open('twitter_keys_fullarchive.yaml', 'w') as config_file:
yaml.dump(config, config_file, default_flow_style=False)
from searchtweets import load_credentials
premium_search_args = load_credentials("twitter_keys_fullarchive.yaml",
yaml_key="search_tweets_api",
env_overwrite=False)
print(premium_search_args)
from searchtweets import gen_rule_payload 
query = "(#COVID19 OR  # Corona_virus) (pandemic OR corona OR  infected OR vaccine)" rule = gen_rule_payload(query, results_per_call=100, from_date="2020-01-01", to_date="2020-01-30")`         from searchtweets import ResultStream
rs = ResultStream(rule_payload=rule,
max_results=100,
**premium_search_args) print(rs)
mport json
with open('twitter_premium_api_demo.jsonl', 'a', encoding='utf-8') as f:
n = 0
for tweet in rs.stream():
n += 1
if n % 10 == 0:
print('{0}: {1}'.format(str(n), tweet['created_at']))
json.dump(tweet, f)
f.write('n') print('done')

非常感谢您。

有一次我有了相同的任务,使用不同的条件收集推特数据,经过大量的搜索和测试,我不得不为我的任务创建完全独立的python推特客户端API。这是我对API的了解(文档有点混乱(

Twitter API有三个版本用于搜索和下载数据。

  • 标准(有限制的免费版本(
  • 高级版(带有一些扩展功能的付费版(
  • 企业版(付费版,具有针对大规模运营的自定义选项(

标准API

  • 与正确的身份验证一起免费使用

  • 仅返回过去7天的数据

  • 可以使用标准搜索运营商

  • 您可以在给定的时间段内发送有限数量的请求(例如,用户身份验证在15分钟窗口内发送180个请求,应用程序身份验证在45分钟窗口内发出450个请求(

  • 一个请求返回100个数据对象(100条推文(

优质API

Preimum APi包括两个版本。

  1. 30天端点-提供过去30天内发布的推文
  2. 完整存档端点-从2006年开始提供推文

这两个版本共享相同的端点,唯一的区别是您可以搜索的时间范围。

  • 高级包每次请求最多返回500个数据对象,但您可以根据您的用例限制返回次数
  • 按订阅每月选择请求(例如50个请求,250个请求(每月((

回答您的问题:

results_per_call=100表示默认情况下API返回多少tweet对象,

max_results=100我应该选择API沙箱在付费前测试我的代码并升级高级API完整存档吗

是的,您可以测试基本逻辑和一些搜索查询,并使用免费服务检查返回对象。但如果你需要搜索超过7天的日期差异,或者高级运营商,你必须使用高级API。

有一些有用的链接

https://developer.twitter.com/en/docs/tweets/search/overview

操作员

https://developer.twitter.com/en/docs/tweets/search/guides/standard-operatorshttps://developer.twitter.com/en/docs/tweets/search/guides/premium-operators

API

https://developer.twitter.com/en/docs/tweets/search/api-reference/premium-searchhttps://developer.twitter.com/en/docs/tweets/search/api-reference/get-search-tweets

文档中有更多隐藏信息,如果您发现有用的内容,请添加更多。

最新更新