跳转到主要内容

在Twitter的用户页面或搜索页面上查看推文。

项目描述

Twittcher(适用于twitter-watcher)是一个Python模块,用于创建将监视Twitter用户页面或搜索页面并对其找到的推文做出反应的机器人。

它很简单,很小(目前大约150行代码),并且不需要在Twitter或dev.twitter.com上进行任何注册,因为它不依赖于Twitter API(而是解析HTML)。

Twittcher是开源软件,最初由Zulko编写,并使用MIT许可证发布。该项目托管在Github上,您可以在那里报告错误、提出改进等。

安装

如果您有pip,请在终端中输入以下内容以安装twittcher

(sudo) pip install twittcher

否则,从GithubPyPI下载源代码,并在与setup.py文件相同的目录中,在终端中输入以下内容

(sudo) python setup.py install

Twittcher需要Python包BeautifulSoup(也称为bs4),当安装twittcher时将自动安装。

使用示例

目前没有Twittcher的文档,但以下示例应该可以向您展示您需要了解的所有内容。

2. 通过Twitter控制远程机器!

每60秒,对我的任何新推文进行形式为cmd: my_command的运行,在终端中执行my_command。使用简单的推文,我可以控制运行此脚本的任何远程计算机。

import subprocess
from twittcher import UserWatcher

def my_action(tweet):
    """ Execute the tweet's command, if any. """
    if tweet.text.startswith("cmd: "):
        subprocess.Popen( tweet.text[5:], shell=True )

# Watch my account and react to my tweets
bot = UserWatcher("Zulko___", action=my_action)
bot.watch_every(60)

例如,推文 cmd: firefox 将在计算机上打开 Firefox,而推文 cmd: echo "Hello" 将使计算机在终端打印 Hello。

3. 监视搜索结果并发送警报邮件

每20秒,发送所有关于 巧克力牛奶 的 Twitter 搜索结果中的新推文给我。

from twittcher import TweetSender, SearchWatcher
sender = TweetSender(smtp="smtp.gmail.com", port=587,
                     login="tintin.zulko@gmail.com",
                     password="fibo112358", # be nice, don't try.
                     to_addrs="tintin.zulko@gmail.com", # where to send
                     sender_id = "chocolate milk")
bot = SearchWatcher("chocolate milk", action=sender.send)
bot.watch_every(20)

4. 多机器人监视

如果您想同时运行多个机器人,请确保在不同机器人的请求之间留出几秒钟的时间。以下是打印 John D. Cook、Mathbabe 和 Eolas 的新推文的方式。每个机器人每分钟被监视一次,两个机器人的请求之间有20秒的间隔。

import time
import itertools
from twittcher import UserWatcher

bots = [ UserWatcher(user) for user in
         ["JohnDCook", "mathbabedotorg",  "Maitre_Eolas"]]

for bot in itertools.cycle(bots):
    bot.watch()
    time.sleep(20)

5. 保存推文

机器人可以将它已经看到的推文保存到文件中,这样在未来的会话中,它将记住不再处理这些推文,以防它们仍然出现在监视的页面上。

from twittcher import SearchWatcher
bot = SearchWatcher("chocolate milk", database="choco.db")
bot.watch_every(20)

项目详情


下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。

源分布

twittcher-0.1.06.tar.gz (5.7 kB 查看散列值)

上传时间

由以下提供支持