过滤推文关键字

时间:2015-09-27 14:57:06

标签: twitter twython

我试图在转发之前用Twython提交某些单词。我无法找到一种方法让它工作,而不是过滤掉某些单词,它将这些单词添加到转发的单词。这是我的代码:

    naughty_words = ["",'"Sign up"', "kindle", "read", "book", "amzn", "amazon"]
    good_words = ["Giveaway", ""]

    filter = "OR".join(good_words)
    blacklist = "-".join(naughty_words)
    keywords = filter + blacklist

    search_results = twitter.search(q="keywords", count= 5)
    try:
        for tweet in search_results["statuses"]:
            twitter.retweet(id = tweet["id_str"])
            time.sleep(15)

    except TwythonError as e:
            print e

1 个答案:

答案 0 :(得分:0)

我看到两个问题,修复这些问题并查看它是否解决了您的问题。

1)keywords未按预期运行。现在从我的代码中得到GiveawaySign up -kindle -read -book -amzn -amazon。这是因为good_words是1个元素列表,因此.join未按预期工作。

2)完成“注册”的方式将显示为“签名”和“向上”,这更可能是问题。

尝试以下方法:

naughty_words = ["",'"Sign up"', "kindle", "read", "book", "amzn", "amazon"]
good_words = ["Giveaway", ""]

另外,删除OR之后的空格并保留之前的空格。

修改

将您的filterblacklist更改为:

filter = "".join(good_words)
blacklist = " -".join(naughty_words)

由于good_words只有一个字,因此不需要OR。你应该得到:

Giveaway -"Sign up" -kindle -read -book -amzn -amazon