2016-04-14 3 views
0

Я пытаюсь использовать API twitter v1.1 и библиотеку urllib2 для поиска твитов, содержащих определенные ключевые слова, в твиттере данного пользователя. Код, который я попытался это:Поиск по твиттер-ручке и ключевым словам с помощью twitter api v1.1

#!/usr/bin/python 

import json 
import sys 
import urllib2 
import os 



#input twitter handle 
handle = sys.argv[1] 

sturl="https://api.twitter.com/1.1/search/tweets.json?q=immigrant%20OR%20illegal%20from%3A"+handle+"&src=typd"; 

url = urllib2.urlopen(sturl) 

#convert the data and load it into json 
data = json.load(url) 

print len(data), "tweets" 

Это займет нужную ручку пользователя в качестве входного и ищет твито с помощью этой учетной записи, содержащего слово «иммигрантов» или «незаконных» и печатает число таких твитов. Ошибка, которую я получаю:

File "tweet_search.py", line 16, in <module> 
    url = urllib2.urlopen(sturl) 
    File "/Users/David/anaconda/lib/python2.7/urllib2.py", line 154, in urlopen 
    return opener.open(url, data, timeout) 
    File "/Users/David/anaconda/lib/python2.7/urllib2.py", line 437, in open 
    response = meth(req, response) 
    File "/Users/David/anaconda/lib/python2.7/urllib2.py", line 550, in http_response 
    'http', request, response, code, msg, hdrs) 
    File "/Users/David/anaconda/lib/python2.7/urllib2.py", line 475, in error 
    return self._call_chain(*args) 
    File "/Users/David/anaconda/lib/python2.7/urllib2.py", line 409, in _call_chain 
    result = func(*args) 
    File "/Users/David/anaconda/lib/python2.7/urllib2.py", line 558, in http_error_default 
    raise HTTPError(req.get_full_url(), code, msg, hdrs, fp) 
urllib2.HTTPError: HTTP Error 400: Bad Request 

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

ответ

0

Ну я думаю, что ваш URL перепутался визита

https://api.twitter.com/1.1/search/tweets.json?q=immigrant%20OR%20illegal%20from%3Asoccer&src=typd 

который является то, что URL будет, когда ваша ручка футбол. вы должны получить это

{"errors":[{"code":215,"message":"Bad Authentication data."}]} 

Вы должны смотреть на то, как именно URL должен быть. Вы определенно должны использовать ключи API или некоторые другие файлы auth.

+0

Очевидно. Тем не менее, я даже не могу заставить его работать с простым запросом для ключевого слова, например: https://api.twitter.com/1.1/search/tweets.json?q=immigrant – gdavtor

+0

ну, API API API ключи и прочее, вы должны искать документацию и примерный запрос и строить из этого. – PYA

+0

вам нужно зарегистрироваться в twitter, получить ключи API, чтобы использовать его. зарегистрируйте свое приложение на https://apps.twitter.com/, чтобы получить доступ к вашим ключам API, а затем вы можете посмотреть документацию, чтобы понять, как сформировать запрос – PYA

Смежные вопросы