API Twitter с urllib2 в Python - PullRequest
3 голосов
/ 14 мая 2010

Я хочу использовать Twitter API в Python для поиска идентификаторов пользователей по имени, используя метод поиска. Я сделал подобные запросы, просто используя

response = urllib2.urlopen('http://search.twitter.com...') 

но для этого мне нужна аутентификация. Я не думаю, что смогу сделать это через Google Python Twitter API, потому что у него нет метода поиска. Любые идеи, как я могу авторизоваться с urllib2 ??

Ответы [ 5 ]

4 голосов
/ 14 мая 2010

Возможно, вам было бы лучше использовать одну из существующих библиотек Python для API Twitter:

http://dev.twitter.com/pages/libraries#python

3 голосов
/ 14 мая 2010

Используйте urllib2.Request для определения полного заголовка HTTP:

request = urllib2.Request( 'http://twitter.com/...' )
request.add_header( 'Authorization', 'Basic ' + base64.b64encode( username + ':' + password ) )
response = urllib2.urlopen( request )

Обратите внимание, что базовая авторизация скоро будет отключена в твиттере, и вам нужно будет перейти на OAuth. В Twitter API Wiki есть несколько примеров на этот счет.

1 голос
/ 19 июня 2013

Используя библиотеку Twython , это код для поиска идентификаторов пользователей по имени:

from twython import Twython
twitter = Twython(APP_KEY, APP_SECRET,OAUTH_TOKEN, OAUTH_TOKEN_SECRET)
print twitter.show_user(screen_name=USER_NAME)["id"]

Надеюсь, это поможет.

1 голос
/ 14 мая 2010

Я бы порекомендовал использовать tweepy API.

https://github.com/tweepy/tweepy

Примеры здесь: https://github.com/tweepy/tweepy/tree/master/examples

0 голосов
/ 22 июня 2014

Аутентификация может быть выполнена с помощью различных библиотек-оболочек Twitter API. Полный список API-оболочек приведен на Страница разработчика Twitter .

Какой бы ни была библиотека, вам придется реализовать аутентификацию OAuth. Это пример кода с использованием Python Twitter Tool .

from twitter import *

MY_TWITTER_CREDS = os.path.expanduser('~/.my_app_credentials')
if not os.path.exists(MY_TWITTER_CREDS):
    oauth_dance("My App Name", CONSUMER_KEY, CONSUMER_SECRET,
                MY_TWITTER_CREDS)

oauth_token, oauth_secret = read_token_file(MY_TWITTER_CREDS)

twitter = Twitter(auth=OAuth(
    oauth_token, oauth_secret, CONSUMER_KEY, CONSUMER_SECRET))

# Now search with Twitter
rel = t.search.tweets(q='whatever')['statuses']
# Now do whatever you want with rel object
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...