php - 推文的渐进式抓取
问题描述
在 Twitter API 中,如何对推文进行渐进式抓取?例如使用搜索 API:
$url = 'https://api.twitter.com/1.1/search/tweets.json';
$getfield = '?q='.urlencode("#thanksgiving").'&count=100'.'&tweet_mode=extended';
最大回报是 100 条推文。但是有超过 100 条推文,现在我如何指定获取接下来的 100 条推文?它是否取决于时间?意味着第一次返回最新的 100 条推文?
解决方案
这不是标准搜索 API 提供的功能。
使用高级搜索 API:
要请求下一个“页面”数据,您必须进行与原始查询完全相同的查询,包括查询、toDate 和 fromDate(如果使用),还包括设置为上一个响应值的“下一个”请求参数。这可以与 GET 或 POST 请求一起使用。但是,在 GET 请求的情况下,“下一个”参数必须是 URL 编码的。您可以继续传递上一个查询中的“下一个”元素,直到您收到查询所涵盖时间段内的所有推文。当您收到不包含“下一页”元素的响应时,这意味着您已到达最后一页,并且对于指定的查询和时间范围没有可用的其他数据。
由于您正在传递一个next
参数,因此较新的数据是否出现在您已经处理的数据之前并不重要。
推荐阅读
- javascript - 如何使用 Javascript 创建 txt 文件并使用 txt 文件的内容创建一个 html 文件?
- php - 如何从谷歌驱动器获取视频文件的可播放链接
- javascript - 使用没有分区键规范的查询从 Cosmos 中删除文档
- php - 使用 php exec 运行 youtube-dl
- python - 如何指定要在 Python 脚本中更改的 xml 文件中的多个字符串?
- spring - 现有 API 的移动应用程序身份验证
- python - 使用带有列名和值的字典对 Pandas 数据帧进行一次性编码
- javascript - 从反应原生移动项目向本地 api 发送获取请求
- laravel - Laravel 和 Vue:我的布局刀片加载了我的组件看不到的脚本
- python - 将列表中每个元组的元素与列表中的每个元素相乘