标签: twython

使用Twython发送推文,twitter api错误

我正在尝试让python使用Twython为我发送一条推文,但出于某种原因,我正在尝试的一切都不起作用.

我跟着Twython自述文件,但仍无法实现我的想法.

以下是我最近尝试的代码:

from twython import Twython, TwythonError

APP_KEY = "KEYHERE"
APP_SECRET = "SECRETHERE"

twitter = Twython(APP_KEY, APP_SECRET)
auth = twitter.get_authentication_tokens()

OAUTH_TOKEN = auth['oauth_token']
OAUTH_TOKEN_SECRET = auth['oauth_token_secret']

twitter = Twython(APP_KEY, APP_SECRET, OAUTH_TOKEN, OAUTH_TOKEN_SECRET)

try:
    twitter.update_status(status='See how easy this was?')
except TwythonError as e:
    print e
Run Code Online (Sandbox Code Playgroud)

在运行上面的代码时,我得到以下回溯错误:

Twitter API returned a 401 (Unauthorized), Invalid or expired token
Run Code Online (Sandbox Code Playgroud)

有谁知道我做错了什么,更重要的是如何解决这个问题?

我没有足够的积分来获得赏金,但我真的很感激帮助!

提前致谢

编辑

Traceback (most recent call last):
  File "C:\testtweet.py", line 20, in <module>
    final_step = twitter.get_authorized_tokens(oauth_verifier)
  File "C:\Python27\lib\site-packages\twython\api.py", …
Run Code Online (Sandbox Code Playgroud)

python twitter twython python-2.7

15
推荐指数
1
解决办法
1万
查看次数

无法获得Tweet的国家 - Twython API

我使用以下代码收集与特定主题相关的推文,但在我提取的所有推文中,'places'属性为None.难道我做错了什么?此外,该代码旨在提取现有的推文,我不需要流API解决方案,也不需要寻找这种流API的解决方案:https://www.quora.com/How-can-I-get-a-stream-的鸣叫-从-A-特定国-使用-Twitter的API

api =   Twython(consumer_key, consumer_secret, access_key, access_secret)

tweets                          =   []
MAX_ATTEMPTS                    =   200
COUNT_OF_TWEETS_TO_BE_FETCHED   =   10000
in_max_id = sys.argv[1]
next_max_id = ''
for i in range(0,MAX_ATTEMPTS):

    if(COUNT_OF_TWEETS_TO_BE_FETCHED < len(tweets)):
        break # we got 500 tweets... !!

    #----------------------------------------------------------------#
    # STEP 1: Query Twitter
    # STEP 2: Save the returned tweets
    # STEP 3: Get the next max_id
    #----------------------------------------------------------------#

    # STEP 1: Query Twitter
    if(0 == i):
        # Query twitter for data. 
        results    = api.search(q="#something",count='100',lang='en',max_id=in_max_id,include_entities='true',geo= True)
    else:
        # After …
Run Code Online (Sandbox Code Playgroud)

python twitter twython

9
推荐指数
1
解决办法
870
查看次数

Twitter Rest API:404没有用户匹配指定的条款

Twitter一次最多允许100个用户ID查询用户个人资料信息.但如果其中包含无效ID,则返回:

404 (Not Found), No user matches for specified terms
Run Code Online (Sandbox Code Playgroud)

不指定哪个是坏ID,并且没有为列表中的其余用户返回任何数据.如果列表中的用户关闭其帐户,则会发生这种情况.

有没有办法识别无效的ID,而不是一个一个地再次通过列表(并可能达到速率限制)?

twitter rest twython twitter-rest-api

8
推荐指数
1
解决办法
1413
查看次数

从Twitter抓取用户位置

我试图从Twitter上获取用户名的用户经度和经度.用户名列表是一个csv文件,在一个输入文件中有超过50个名称.以下是我迄今为止所做的两项试验.他们似乎都没有工作.任何一个程序或全新方法的更正都是受欢迎的.

我有列表,User_names我正在尝试查找用户配置文件并geolocation从配置文件或时间线中提取.我无法在互联网上找到很多样本.

我正在寻找一种更好的方法来从Twitter获取用户的地理位置.我甚至找不到一个显示收集用户位置的示例,参考User_name或user_id.它甚至可能在第一位?

输入:输入文件的行数超过50k

AfsarTamannaah,6.80E+17,12/24/2015,#chennaifloods
DEEPU_S_GIRI,6.80E+17,12/24/2015,#chennaifloods
DEEPU_S_GIRI,6.80E+17,12/24/2015,#weneverletyoudownstr
ndtv,6.80E+17,12/24/2015,#chennaifloods
1andonlyharsha,6.79E+17,12/21/2015,#chennaifloods
Shashkya,6.79E+17,12/21/2015,#moneyonmobile
Shashkya,6.79E+17,12/21/2015,#chennaifloods
timesofindia,6.79E+17,12/20/2015,#chennaifloods
ANI_news,6.78E+17,12/20/2015,#chennaifloods
DrAnbumaniPMK,6.78E+17,12/19/2015,#chennaifloods
timesofindia,6.78E+17,12/18/2015,#chennaifloods
SRKCHENNAIFC,6.78E+17,12/18/2015,#dilwalefdfs
SRKCHENNAIFC,6.78E+17,12/18/2015,#chennaifloods
AmeriCares,6.77E+17,12/16/2015,#india
AmeriCares,6.77E+17,12/16/2015,#chennaifloods
ChennaiRainsH,6.77E+17,12/15/2015,#chennairainshelp
ChennaiRainsH,6.77E+17,12/15/2015,#chennaifloods
AkkiPritam,6.77E+17,12/15/2015,#chennaifloods
Run Code Online (Sandbox Code Playgroud)

码:

import tweepy
from tweepy import Stream
from tweepy.streaming import StreamListener
from tweepy import OAuthHandler
import pandas as pd
import json
import csv
import sys
import time

CONSUMER_KEY = 'XYZ'
CONSUMER_SECRET = 'XYZ'
ACCESS_KEY = 'XYZ'
ACCESS_SECRET = 'XYZ'

auth = OAuthHandler(CONSUMER_KEY,CONSUMER_SECRET)
api = tweepy.API(auth)
auth.set_access_token(ACCESS_KEY, ACCESS_SECRET)

data = pd.read_csv('user_keyword.csv')

df = ['user_name', 'user_id', …
Run Code Online (Sandbox Code Playgroud)

geolocation twython tweepy python-2.7 pandas

7
推荐指数
1
解决办法
1227
查看次数

Twitter API - 检索对某个推文的所有回复

我正在尝试将 Twitter API 与 Python 包装器 Twython 一起使用,并且我想使用某些模式检索对某个推文查找的所有回复(推文下方的评论)。

目前,为了实现这一点,我执行了一个字符串的搜索,我检索了响应中与原始推文相关的screen_name字段user字段,然后我再次使用 API 来搜索定向到用户的最新推文,使用在查询子串中to:screen_name

有更好的解决方案吗?我发现的与此主题相关的唯一问题是在 14 年写的,我希望与此同时,有一些改进。

python twitter reply twython

7
推荐指数
0
解决办法
7046
查看次数

使用Python从Twitter获取带有hashtag的推文

我们如何根据哈希标记查找或获取推文.即我想找到关于某一主题的推文?是否可以在Python中使用Twython?

谢谢

python twitter twython

6
推荐指数
1
解决办法
2万
查看次数

获取特定推文的回复计数

我正在使用 Pythontweepy库。

我使用以下代码成功提取了推文的“喜欢”和“转发”计数:

# Get count of handles who are following you
def get_followers_count(handle):
    user = api.get_user(handle)
    return user.followers_count

# Get count of handles that you are following
def get_friends_count(handle):
    user = api.get_user(handle)
    return user.friends_count

# Get count of tweets for a handle
def get_status_count(handle):
    user = api.get_user(handle)
    return user.statuses_count

# Get count of tweets liked by user
def get_favourite_count(handle):
    user = api.get_user(handle)
    return user.favourits_count
Run Code Online (Sandbox Code Playgroud)

但是,我找不到获取特定推文的回复计数的方法。

是否可以使用 tweepy 或任何其他库(如 twython 甚至 twitter4j)获取推文的回复计数?

python twitter twython tweepy twitter4j

6
推荐指数
1
解决办法
4201
查看次数

如何使用Twython获得Twitter粉丝?

我想获得一个特定用户的Twitter粉丝/关注者列表,当他们指定了screenname或user.id时.任何人都可以为它提供代码片段吗?谢谢.

python twitter twython twitter-oauth

5
推荐指数
1
解决办法
6974
查看次数

从时间轴获取推文的问题,因为Twitter没有返回'next_results'

我正在尝试使用此处演示的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)

twitter twython tweepy

5
推荐指数
1
解决办法
630
查看次数

如何使用Twython将图像发布到Twitter?

上个月,我有一个小脚本完美地工作

from twython import Twython
import glob
import random

app_key = "XXX"
app_secret = "XXX"
oauth_token = "XXX"
oauth_token_secret = "XXX"
twitter = Twython(app_key, app_secret, oauth_token, oauth_token_secret)

    def RandomImageTwitt(folder):
        #Takes the folder where your images are as the input
        images = glob.glob(folder + "*")
        image_open = open(images[random.randint(0,len(images))-1])
        twitter.update_status_with_media(media=image_open)

RandomImageTwitt("/home/XXX/.reddit-twitter-image/XXX/")
Run Code Online (Sandbox Code Playgroud)

但现在Twitter已经弃用了这种方法.Twython告诉我应该使用Twython.upload_media,但我找不到任何关于它的使用的文档.甚至Twython官方网站仍然列出了update_status_with_media的示例.

任何人都知道如何做或在哪里找到一些例子/信息?

python twitter twython

5
推荐指数
1
解决办法
3374
查看次数