我想获得一个特定用户的Twitter粉丝/关注者列表,当他们指定了screenname或user.id时.任何人都可以为它提供代码片段吗?谢谢.
在API上返回搜索结果时,Twitter每“页面”仅返回100条推文。它们在max_id和since_id中提供了和,search_metadata它们可以用作获取较早/较晚鸣叫的参数。
Twython 3.1.2文档建议此模式是搜索的“旧方法”:
results = twitter.search(q="xbox",count=423,max_id=421482533256044543)
for tweet in results['statuses']:
... do something
Run Code Online (Sandbox Code Playgroud)
这就是“ 新方法 ”:
results = twitter.cursor(t.search,q='xbox',count=375)
for tweet in results:
... do something
Run Code Online (Sandbox Code Playgroud)
当我执行后者时,它似乎无休止地遍历相同的搜索结果。我正在尝试将其推送到CSV文件,但会推送大量重复项。
用Twython搜索大量推文并遍历一组唯一结果的正确方法是什么?
编辑:这里的另一个问题是,当我尝试使用生成器(for tweet in results:)进行迭代时,它将反复循环,而不会停止。啊-这是一个错误... https://github.com/ryanmcgrath/twython/issues/300
我正在尝试使用此处演示的max_id字段从Twitter时间线获取推文next_results.(带有next_results的Twython搜索API)
对于大多数查询,我得到了所需数量(500+)的推文,但对于一些我得到的推文少于200条.
在查看返回的内容时,next_results我发现在返回100条推文之后,响应的next_results字段缺失.查询主题不能只有200条推文,因为我在热门时搜索此主题,在Twitter上我可以看到超过200条推文.
还有其他人也面临这个问题.有没有解决方法?
下面是输出,在第二个响应'next_results'中缺少字段.
TEST_PROGRAM >> Calling twitter to get tweets for #TheWorstLieEver
{u'count': 100, u'completed_in': 0.066, u'max_id_str': u'432942833725497345', u'since_id_str': u'0', **u'next_results': u'?max_id=432540545630494719&q=%23TheWorstLieEver&count=100&include
_entities=1&result_type=mixed'**, u'refresh_url': u'?since_id=432942833725497345&q=%23TheWorstLieEver&result_type=mixed&include_entities=1', u'since_id': 0, u'query': u'%23TheWorstLieEver
', u'max_id': 432942833725497345L}
{u'count': 100, u'completed_in': 0.111, u'max_id_str': u'432540545630494719', u'since_id_str': u'0', u'refresh_url': u'?since_id=432540545630494719&q=%23TheWorstLieEver&result_type=mixe
d&include_entities=1', u'since_id': 0, u'query': u'%23TheWorstLieEver', u'max_id': 432540545630494719L}
Run Code Online (Sandbox Code Playgroud) 我使用Twython作为我的Twitter API包装器,使用oauth2来处理身份验证.我正试图通过twitter登录,然后在oauth舞蹈之后将他重定向到动态生成的oauth_callback.然而,这似乎无法直接使用这些库.我的问题是我的oauth客户端(python-oauth2)不支持回调网址.我觉得这很奇怪,因为这是Twython使用的默认oauth客户端 - 为什么他们会费心编写代码以适应动态回调的使用,然后将库与不支持回调的oauth客户端捆绑在一起? 第54行设置为false,因此我的回调网址永远不会包含在请求令牌网址中,如oAuth 1.0a规范中所要求的那样.
我已经尝试修改Twython和oauth2,但我一直遇到问题.我想知道是否有一个替代python-oauth2支持oauth_callback,或者可能是一个可以正确处理oauth的替代twitter库.
如何使用Twython获取用户个人资料图片?
我看到show_user()方法,但用api密钥和secret + oauth标记和秘密实例化Twython,并调用此方法返回404 :
TwythonError: Twitter API returned a 404 (Not Found), Sorry, that page does not exist.
从Twython实例化的wo api/oauth键调用相同的方法返回400 : TwythonAuthError: Twitter API returned a 400 (Bad Request), Bad Authentication data.
我也尝试过GET用户信息https://api.twitter.com/1.1/users/show.json?screen_name=USERSCREENNAME,并获得了400.
我将非常感谢对twitter api 1.1进行身份验证请求的工作示例.在twitter api参考上找不到它.
我怎样才能使用Twython来检索所有提到例如"#Accounting"的推文?
我使用了Twitter搜索API,但我只能获得100条推文.
然后我尝试使用Twitter流式过滤器API,但无法通过地理位置缩小,它似乎需要永远.我读到我们应该将所有推文放入数据库然后在那里进行聚合,但我想知道是否有其他方法可以快速做一些事情.
这是我的代码:
from twython import Twython
TWITTER_APP_KEY = 'XXXX'
TWITTER_APP_KEY_SECRET = 'XXXX'
TWITTER_ACCESS_TOKEN = 'XXXX'
TWITTER_ACCESS_TOKEN_SECRET = 'XXXX'
t = Twython(app_key=TWITTER_APP_KEY,
app_secret=TWITTER_APP_KEY_SECRET,
oauth_token=TWITTER_ACCESS_TOKEN,
oauth_token_secret=TWITTER_ACCESS_TOKEN_SECRET)
search = t.search(q='#Accounting',
geocode='-74,40,-73,41',
since_id='1',
max_id='504082008759488512'
)
tweets = search['statuses']
count=0
for tweet in tweets:
count+=1
print tweet['id_str'], '\n', tweet['text'], '\n\n\n'
print count
Run Code Online (Sandbox Code Playgroud)
这是我的Streaming API代码:
from twython import TwythonStreamer
APP_KEY = 'XXXX'
APP_SECRET = 'XXXX'
OAUTH_TOKEN = 'XXXX'
OAUTH_TOKEN_SECRET = 'XXXX'
class MyStreamer(TwythonStreamer):
tweets=[]
def on_success(self, data):
if 'text' in data:
tweet= data['text'].encode('utf-8')
if …Run Code Online (Sandbox Code Playgroud) 我试图排除retweets并replies在我的Twython搜索中.
这是我的代码:
from twython import Twython, TwythonError
app_key = "xxxx"
app_secret = "xxxx"
oauth_token = "xxxx"
oauth_token_secret = "xxxx"
naughty_words = [" -RT"]
good_words = ["search phrase", "another search phrase"]
filter = " OR ".join(good_words)
blacklist = " -".join(naughty_words)
keywords = filter + blacklist
twitter = Twython(app_key, app_secret, oauth_token, oauth_token_secret)
search_results = twitter.search(q=keywords, count=100)
Run Code Online (Sandbox Code Playgroud)
问题是该-RT功能并没有真正起作用.
编辑:
我已经尝试了@forge建议,虽然它打印了如果推文不是转推或回复,当我将它们合并到下面的代码中时,机器人仍然会发现推文,转推,引用和回复.
twitter = Twython(app_key, app_secret, oauth_token, oauth_token_secret) query = 'beer OR wine AND -filter:retweets AND -filter:replies' …Run Code Online (Sandbox Code Playgroud) 我正在使用Twython(Twitter API的Python包装器,在这里找到.)
目标:我正在尝试创建一个搜索关键字的简单机器人,并使用其中的关键字回复推文.
示例:发送搜索请求以搜索#stackoverflow,回复#stackoverflow其中包含"StackOverflow最佳!"的推文.
问题:如果没有推文ID,则无法回复推文(可在任何固定推文的网址中找到).这方面的一个例子是发送任何推文并将某人链接到它.链接末尾的数字是推文ID.
我试过的:我可以尝试的并不多.我希望这个尽可能简单,没有复杂的解决方法.我确信有一些方法可以做到这一点,而不必走得太远.我已经用尽了Google和Twython的文档以及Twitter的API文档.= /任何人
我对搜索API有点困惑.我们假设我查询"foobar",代码如下:
from twython import Twython
api = Twython(...)
r = api.search(q="foobar")
Run Code Online (Sandbox Code Playgroud)
通过这种方式,我有15个状态和一个"next_results"in r["metadata"].有什么办法超生这些元数据到Twython API并具有下列状态更新为好,或者我应该得到下一个until_id用手从"next_results"和执行全新的查询?
我正在制作一个自动转发和收藏任何包含关键字“澳大利亚”的机器人
我能够成功地重新推文并自动收藏该推文,但我不知道如何自动关注它们(关注我自动重新推文的每个人)
search_results = twitter.search(q='Australia', count=10)
try:
for tweet in search_results["statuses"]:
try:
twitter.retweet(id = tweet["id_str"])
twitter.create_favorite(id = tweet["id_str"])
twitter.create_friendship(user_id=?????)
except TwythonError as e:
print (e)
except TwythonError as e:
print (e)
Run Code Online (Sandbox Code Playgroud) 我正在尝试运行一个 Python 脚本,该脚本使用Run Shell ScriptOSX Automator 中的一些 3rd 方模块(numpy、pandas、Twython)。我写了一个成功运行的 hello_world.py 脚本,所以我确定问题是由于 3rd 方模块造成的。
在终端中,我可以成功执行:python Desktop/my_folder/myscript.py,但是当我尝试运行下面的 shell 脚本时,shell 脚本失败。我从 anaconda 发行版运行 Python 2.7.7。
#!/Users/myName/anaconda/bin/python2.7
cd ~/Desktop/my_folder/
python script.py
Run Code Online (Sandbox Code Playgroud)
如何编写适用于使用 3rd 方模块的 Python 脚本的 shell 脚本?
我正在尝试使用 Tython 在 twitter 中搜索,但该库似乎有 140 个字符的限制。python的新特性,即280个字符长度,能做什么呢?
我编写了一个使用Twython与twitter交互的python脚本.它将关注者列表下载到变量(关注者)中,并将我关注的人员列表转换为另一个变量(朋友).然后应该自动跟随每个关注我的人,但是我还没有关注谁.
for fol in followers:
if fol not in friends:
twitter.create_friendship(fol)
Run Code Online (Sandbox Code Playgroud)
我得到的错误是只twitter.create_friendship需要一个参数,但它被赋予了两个.我不知道如何给出两个论点,我只能看到一个.