Twython关键字和LED

时间:2017-04-11 23:40:31

标签: python raspberry-pi3 twython

我正在使用Raspberry Pi和浆果剪辑创建项目。所以我编程要做的就是(使用twython)代码搜索用户输入的特定关键字的twitters,当它找到它时,它会显示推文和LED闪烁。我想在我的浆果剪辑上扩展它,并使用6个不同关键字的所有6个LED。我设法对其进行编程以搜索6个关键字,但到目前为止,我无法根据关键字找出如何制作每个关键字。例如,如果流找到第一个关键字,则第一个LED将闪烁。如果找到第二个关键字,那么第二个LED将闪烁等等。我尝试在第一个if语句(if 'text' in data:)中使用if语句添加if TERMS in 'text':,但它没有用。到目前为止,这是我的代码:

#!/usr/bin/python
import time
import RPi.GPIO as GPIO
from twython import TwythonStreamer

ledList=[4,17,22,10,9,11]

GPIO.setmode(GPIO.BCM)
GPIO.setup(ledList,GPIO.OUT)

TERMS=(raw_input("Please type the first keyword"));
TERMS2=(raw_input("Please type the second keyword"));
TERMS3=(raw_input("Please type the third keyword"));
TERMS4=(raw_input("Please type the fourth keyword"));
TERMS5=(raw_input("Please type the fifth keyword")); 
TERMS6=(raw_input("Please type the sixth keyword"));

termsList=[TERMS,TERMS1,TERMS2,TERMS3,TERMS4,TERMS5,TERMS6]   

APP_KEY='xxxxxxxxxxxx'
APP_SECRET='xxxxxxxxx'
OAUTH_TOKEN='xxxxxxxxx'
OAUTH_TOKEN_SECRET='xxxxxxxxx'

class streamer(TwythonStreamer):
     def success(self,data):
           if 'text' in data:
               tweet_data=data['text'].encode('utf-8')
               print (tweet_data)
               GPIO.output(4,True)
               time.sleep(1)
               GPIO.output(4,False)

try:
     stream = streamer(APP_KEY,APP_SECRET,OAUTH_TOKEN,OAUTH_TOKEN_SECRET)
     stream.statuses.filter(track=termsList)

except KeyboardInterrupt:
        print ('ending')
        GPIO.cleanup()

1 个答案:

答案 0 :(得分:0)

就像你说的那样,你需要检查推文文本中的哪个词。 (我不太了解覆盆子pi,但我想以下将会点亮第i个时在推文中找到第i个词)

class streamer(TwythonStreamer):
     def success(self,data):
           if 'text' in data:
               tweet_data=data['text'].encode('utf-8')
               for i, term in enumerate(termList):
               if term in tweet_data:
                   GPIO.output(i,True)
                   time.sleep(1)
                   GPIO.output(i,False)