跟踪实时推文流中的关键字

2024-03-04

我安装并尝试了 tweepy,我现在正在使用以下功能:

from API参考 http://packages.python.org/tweepy/html/api.html#api-reference

API.public_timeline()

返回最近 20 个状态 设置了自定义用户图标的非受保护用户。公众 时间线缓存 60 秒,因此请求频率高于 这是对资源的浪费。

但是,我想从完整的直播流中提取与某个正则表达式匹配的所有推文。我可以把public_timeline()里面一个while True循环,但这可能会遇到速率限制的问题。不管怎样,我真的不认为它可以涵盖所有当前的推文。

怎么可能呢?如果不是所有推文,那么我想提取与某个关键字匹配的尽可能多的推文。


流媒体 API 就是您想要的。我使用一个名为 tweetstream 的库。这是我的基本监听功能:

def retrieve_tweets(numtweets=10, *args):
"""
This function optionally takes one or more arguments as keywords to filter tweets.
It iterates through tweets from the stream that meet the given criteria and sends them 
to the database population function on a per-instance basis, so as to avoid disaster 
if the stream is disconnected.

Both SampleStream and FilterStream methods access Twitter's stream of status elements.
For status element documentation, (including proper arguments for tweet['arg'] as seen
below) see https://dev.twitter.com/docs/api/1/get/statuses/show/%3Aid.
"""   
filters = []
for key in args:
    filters.append(str(key))
if len(filters) == 0:
    stream = tweetstream.SampleStream(username, password)  
else:
    stream = tweetstream.FilterStream(username, password, track=filters)
try:
    count = 0
    while count < numtweets:       
        for tweet in stream:
            # a check is needed on text as some "tweets" are actually just API operations
            # the language selection doesn't really work but it's better than nothing(?)
            if tweet.get('text') and tweet['user']['lang'] == 'en':   
                if tweet['retweet_count'] == 0:
                    # bundle up the features I want and send them to the db population function
                    bundle = (tweet['id'], tweet['user']['screen_name'], tweet['retweet_count'], tweet['text'])
                    db_initpop(bundle)
                    break
                else:
                    # a RT has a different structure.  This bundles the original tweet.  Getting  the
                    # retweets comes later, after the stream is de-accessed.
                    bundle = (tweet['retweeted_status']['id'], tweet['retweeted_status']['user']['screen_name'], \
                              tweet['retweet_count'], tweet['retweeted_status']['text'])
                    db_initpop(bundle)
                    break
        count += 1
except tweetstream.ConnectionError, e:
    print 'Disconnected from Twitter at '+time.strftime("%d %b %Y %H:%M:%S", time.localtime()) \
    +'.  Reason: ', e.reason

我有一段时间没看过了,但我很确定这个库只是访问示例流(而不是消防水带)。 HTH。

编辑添加:你说你想要“完整的直播”,又名消防水带。这在财政和技术上都是昂贵的,并且只有非常大的公司才被允许拥有它。查看文档,您会发现该示例基本上具有代表性。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

跟踪实时推文流中的关键字 的相关文章

  • 使用天蓝色错误“找不到资源”进行情绪分析

    我创建了一个 python 程序 它接受字符串作为输入并对其执行情感分析 我已经按照文档中所述创建了环境变量 并重新启动了 cmd 和 Visual Studio 但仍然出现以下错误 遇到异常 操作返回无效状态代码 未找到资源 python
  • Flask/Apache 提交按钮用于文件上传

    我有一个在 apache 后面运行的 Flask 应用程序 在我的 index html 页面上有一个文件上传按钮和一个提交按钮 如下所示
  • AttributeError:模块“tensorflow.python.framework.ops”没有属性“RegisterShape”

    我正在使用 TensorFlow 2 1 0 dev20191125 不幸的是 我无法编译一个带有错误的简单示例 AttributeError 模块 tensorflow python framework ops 没有 属性 Registe
  • Python 3.4.3 subprocess.Popen 在没有管道的情况下获取命令的输出?

    我试图将命令的输出分配给变量 而不让命令认为它正在通过管道传输 原因是 如果正在通过管道传输 则相关命令会给出未格式化的文本作为输出 但如果从终端运行 则会给出颜色格式化的文本 我需要获取这种颜色格式的文本 到目前为止我已经尝试了一些事情
  • 使用 pygtk3 将 GUI 窗口添加到 python opencv2 程序

    我已经使用Python和Opencv2完成了一个程序 现在 我想向我的程序添加一个 GUI 窗口 我对 PyGtk3 有一些经验 因此 我修改了代码以采用 PyGtk3 但是 我遇到了错误 因此 我尝试了一个简单的程序来找出实际的错误 我的
  • SQLAlchemy 默认日期时间

    这是我的声明模型 import datetime from sqlalchemy import Column Integer DateTime from sqlalchemy ext declarative import declarati
  • 使用主宰器将实时数据发送给客户端

    我尝试使用 Flask 的主宰框架 以便按照 Flask 代码片段将实时信息发送到客户端浏览器http flask pocoo org snippets 80 http flask pocoo org snippets 80 当我尝试为我的
  • 替换 pandas 数据框中的点

    我有一个如图所示的数据框 数字实际上是对象 正在做df treasury rate pd to numeric df treasury rate 可预见的炸弹 然而 做df replace np nan 似乎没有摆脱这个点 所以我很困惑 有
  • 如何在 scikit-learn 的 SVM 中使用非整数字符串标签? Python

    Scikit learn 具有相当用户友好的用于机器学习的 python 模块 我正在尝试训练用于自然语言处理 NLP 的 SVM 标记器 其中我的标签和输入数据是单词和注释 例如 词性标记 而不是使用双精度 整数数据作为输入元组 1 2
  • 如何在 Python 中包含 PHP 脚本?

    我有一个 PHP 脚本 news generator php 当我包含它时 它会抓取一堆新闻项并打印它们 现在 我在我的网站 CGI 中使用 Python 当我使用 PHP 时 我在 新闻 页面上使用了这样的内容 为了简单起见 我删掉了这个
  • 如何使用 Python Pandas 制作 DataFrame 切片并在特定切片中“fillna”?

    问题 让我们从 Kaggle 获取泰坦尼克号数据集 我有包含 Pclass 性别 和 年龄 列的数据框 我需要用特定组的中位数填充 年龄 列中的 NaN 如果是来自一等的女性 我想用一等女性的中位数填写她的年龄 而不是整个年龄列的中位数 问
  • 如何使用JQuery和Django(ajax + HttpResponse)?

    假设我有一个 AJAX 函数 function callpage ajax method get url abc data x 3 beforeSend function success function html IF HTTPRESPO
  • python 中的异步编程

    python 中有异步编程的通用概念吗 我可以为一个函数分配一个回调 执行它并立即返回主程序流 无论该函数的执行需要多长时间吗 您所描述的 主程序流程在另一个函数执行时立即恢复 不是通常所说的 异步 又名 事件驱动 编程 而是 多任务 又名
  • Python:如何使用生成器来避免 sql 内存问题

    我有以下方法来访问 mysql 数据库 并且查询在服务器中执行 我无权更改有关增加内存的任何内容 我对生成器很陌生 并开始阅读更多有关它的内容 并认为我可以将其转换为使用生成器 def getUNames self globalUserQu
  • Python写入dbf数据时出错

    我得到这个错误 DbfError unable to modify fields individually except in with or Process 如何修复它 这是我的code with dbf Table aa dbf as
  • 使用多行选项和编码选项读取 CSV

    在 azure Databricks 中 当我使用以下命令读取 CSV 文件时multiline true and encoding SJIS 似乎编码选项被忽略了 如果我使用multiline选项 Spark 使用默认值encoding那
  • Flask APScheduler + Gunicorn 工作人员 - 在套接字修复后仍在运行任务两次

    我有一个 Flask 应用程序 我使用 Flask APScheduler 在我的数据库上运行计划查询并通过 cron 作业发送电子邮件 我通过 Gunicorn 使用以下配置运行我的应用程序并通过主管进行控制 program myapp
  • 透视包含字符串的 Pandas Dataframe - “没有要聚合的数字类型”错误

    关于此错误有很多问题 但环顾四周后 我仍然无法找到 解决解决方案 我正在尝试用字符串旋转数据框 以使一些行数据变成列 但到目前为止还没有成功 我的 df 的形状
  • Scrapy - 持续从数据库中获取要爬取的url

    我想不断地从数据库中获取要爬行的网址 到目前为止 我成功地从基地获取了 url 但我希望我的蜘蛛继续从该基地读取 因为该表将由另一个线程填充 我有一个管道 一旦爬行 工作 就会从表中删除 url 换句话说 我想使用我的数据库作为队列 我尝试
  • 无法在 Python 2.4 中解码 unicode 字符串

    这是Python 2 4 中的 这是我的情况 我从数据库中提取一个字符串 它包含一个变音的 o xf6 此时 如果我运行 type value 它会返回 str 然后我尝试运行 decode utf 8 但收到错误 utf8 编解码器无法解

随机推荐

  • 是否可以仅使用 C++ 制作 iPhone 应用程序? [复制]

    这个问题在这里已经有答案了 可能的重复 在 iOS 和 Mac OS X 应用程序中使用 C https stackoverflow com questions 8759573 utilizing c in ios and mac os x
  • Miniconda3:在当前 win-32 通道中找不到软件包匹配问题

    我一直在遵循如何安装 Miniconda3 并使用它来安装不同软件包的指南NumPy and SciPy 然而 安装 Miniconda3 并在 PyCharm 中打开一个新项目后 指南告诉我应该写 conda install numpy
  • C# 属性修改方法

    全部 也许我在谷歌上搜索得不够 但我找不到关于这个问题的任何例子 在 C 中是否可以创建一个自定义属性 该属性应用于类并修改其所有方法 例如 添加Console WriteLine Hello i m modified method 作为第
  • 如何仅在安装(而不是卸载)中执行自定义操作

    我确信这相当容易 但我有点困难 我有一个自定义操作 可以在安装时执行不同的 非 msi 安装程序 不幸的是 我注意到它还在卸载时执行安装程序 我已经查看了这些选项 但我似乎无法找到如何阻止这种情况 如果有人能帮助我 我将非常感激 另外 如何
  • SWI-Prolog 中的可逆谓词和字符串

    append 3是一个非常强大的谓词 假设我想要一个以相同方式工作但针对 SWI Prolog 字符串的谓词 我看到的最简单的方法是将这些字符串转换为列表string codes 2 然后应用append 3 然后使用string code
  • Pandoc md 到 pdf:在分页之前插入图像时保持顺序

    正如标题所述 我的问题是关于 pandocs md 到 pdf 的 当我像这样转换降价时 Title text that is about a 3 4 page image that is too large to fit page ima
  • 关于 GWT 中 MVP 的问题。 (总体概述)

    你们中的任何人都可以对 MVP 模式在 GWT 应用程序中的使用给出一个很好的解释吗 我看过的任何示例 我发现很难理解实现该模式的概念 诸如这是什么之类的问题 它实现了什么 它是如何实施的 以及如何扩展它以适应未来的修改 http code
  • 如何在javascript中获取所有待处理的http请求?

    javascript 或 angular2 有没有办法 获取待处理的 http 请求列表 目标是启动 其他几个进程 根据这个榜单的波动 是否存在类似可访问的请求堆栈之类的东西 Thanks 事实上你可以扩展Http类来拦截请求执行 impo
  • 有没有更干净的方法来可靠地使用 write() 函数?

    我读了man页 我的理解是 如果write 失败并设置errno to EAGAIN or EINTR 我可以执行write 再次 所以我想出了以下代码 ret 0 while ret count write count write con
  • 如何使用 PHP 在网站上实现 OCR? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 'NSInvalidArgumentException',原因:'*** -[NSURL initFileURLWithPath:]: nil 字符串参数'

    我对这里发生的事情感到摸不着头脑 打印插件不起作用 我正在尝试向应用程序添加打印机插件 映射 xml 并加载 html 文件后 我在 Xcode 中没有看到错误 但是 当我运行该应用程序时 它崩溃了并且日志状态如下 由于未捕获的异常而终止应
  • 我如何知道用户正在打字或粘贴?

    在我的 JSP 的文本字段中 我希望知道用户是在输入数据还是只是粘贴 我如何使用 javascript 来识别它 EDIT 根据安迪的回答 我知道如何去做 但仍然好奇那些人是如何编写 onpaste 事件的 Safari Chrome Fi
  • HTML onUnclick 处理程序? [复制]

    这个问题在这里已经有答案了 我想在单击输入字段时触发一个处理程序 并在取消选择输入字段时触发另一个处理程序 即 如果有人在字段之外单击 有办法做到这一点吗 点击处理程序非常简单
  • 自动在 bash 命令末尾添加一些内容

    我想知道如何在特定 bash 命令的末尾添加一些内容 而无需显式键入它 例如 我希望能够输入 mycommand argument 该行将提交为 mycommand argument 我知道如何在我的中设置别名 bashrc e g ali
  • 在 Mac 上启动 AVD(Android 虚拟设备)时 qemu-system-i386 意外退出(非法指令 4)

    我在 Mac Macbook Pro 2017 年 8 月 OSX 10 12 4 上安装了 Android Studio 然后启动 创建了一个 hello world 项目并创建了一个 AVD Android 虚拟设备 Nexus 5 来
  • CloudFront 签名 url 的最长过期时间是多少

    我正在使用 CloudFront 从中生成签名 URLdoc https docs aws amazon com AmazonCloudFront latest DeveloperGuide CFPrivateDistJavaDevelop
  • JAXB 如何推进 XMLStreamReader?

    我正在使用 JAXB 通过 XMLStreamReader 从非常大的 XML 文件中解组对象 如果我要解组的 XML 元素是分隔的 通过换行符甚至单个空格 则效果很好 如果我要解组的 XML 元素之间没有空格 那么我会丢失所有其他项目 X
  • Rust 编译器什么时候不能证明借用是不相交的?

    In 诺米康第 3 2 节 https doc rust lang org nomicon references html liveness 在 活跃度 标题下 它说 然而 经常出现的情况是 Rust 不够聪明 无法 证明多次借用是不相交的
  • std 映射复合键

    我有一个问题运算符std map 所需的方法 我使用结构作为复合键 如下所示 struct MyKey std string string1 std string string2 std string string3 unsigned in
  • 跟踪实时推文流中的关键字

    我安装并尝试了 tweepy 我现在正在使用以下功能 from API参考 http packages python org tweepy html api html api reference API public timeline 返回