我目前正在开发一个使用Twitter Streaming API的Python脚本。
问题在于,当我调用stream.user()
它要求stream.user(with=followings)
之类的参数时,但是Python检测到'with'作为关键字并给我一个语法错误。有没有办法绕过这个?
更新
以下是Twitter文档:https://dev.twitter.com/streaming/userstreams#Data_from_accounts_the_user_follows,如果我想从用户关注的帐户中获取推文,则说我需要使用'with = followings'。
更新2:
以下是代码:
from twython import Twython, TwythonStreamer
class Streamer(TwythonStreamer):
def on_success(self, data):
if 'text' in data:
user = '@' + data['user']['screen_name']
tweet = ': ' + data['text']
def on_error(self, status_code, data):
print status_code
self.disconnect()
stream = Streamer('XXX',
'XXX',
'XXX',
'XXX')
stream.user(with=followings)
答案 0 :(得分:0)
链接到:https://dev.twitter.com/streaming/reference/get/user
def user(self, **params):
注意双星**
如果表单*标识符存在,则将其初始化为元组 接收任何多余的位置参数,默认为空 元组。如果表单**标识符存在,则将其初始化为新的 字典接收任何多余的关键字参数,默认为新的 空词典。
试试这个:
params = {'with' : 'followings'}
stream.user(**params)
"与"确实是python中的关键字
>>> import keyword
>>> keyword.iskeyword('with')
True
答案 1 :(得分:0)
它没有在您的问题中指定,但我认为您想要收听特定用户的所有推文。在这种情况下,您可以通过以下方式使用tweepy流式传输:
F2 = SUBSTITUTE(E:E," ","*")
G2 = VLOOKUP(E:E,A:B,2,0)
H2 = COUNTIF(A:A,F:F)
I2 = VLOOKUP(F:F,A:B,2,0)
J2 = IFERROR(G2,IF(H2=1,I2,IF(H2=0,"Never seen before","Need validation")))
您可以在here
中阅读更多内容