[英]Python - Tweepy Regex
我正在使用Tweepy流媒体为某些标签收集一些推文,在本例中为#python。 脚本的拖缆部分工作正常,但是我正在努力从输出中提取信息。
Tweepy示例:{“ created_at”:“周五8月5日17:27:00 +0000”,“ id”:761614496666361857,“ id_str”:“ 761614496666361857”,“ text”: “对virtualenv使用不同的Python版本#py thon #virtualenv #virtualenvwrapper https://t.co/ecedKrCX0L“ ,”源“:
从示例中,我想提取并打印粗体文本,但是似乎无法正常工作。 到目前为止,我已经提出了:
class MyListener(StreamListener):
def on_data(self, data):
try:
pattern = re.compile(r'"text":"(.*?)","')
for line in data:
x = pattern.search(data)
f = open('tmp', 'a')
f.write(data)
f.close
return True
else:
pass
except BaseException as e:
print("Error on_data: %s" % str(e))
return True
但是,这不会提取我想要的细节,而是继续打印完整的扭曲输出。
任何援助将不胜感激!
谢谢
如果要提取文本,最简便的方法是使用json模块。
import json
class MyListener(StreamListener):
def on_data(self, data):
try:
json.loads(data)
f = open('tmp', 'a')
f.write(data["text"])
f.close()
except BaseException as e:
print("Error on_data: %s" % str(e))
return True
但是,如果您想使用正则表达式,则将是以下代码:
class MyListener(StreamListener):
def on_data(self, data):
try:
pattern = re.compile(r'"text":"([^",]*)","')
for line in data:
x = pattern.search(data)
f = open('tmp', 'a')
f.write(data)
f.close
return True
else:
pass
except BaseException as e:
print("Error on_data: %s" % str(e))
return True
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.