我正在使用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()
答案 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)