我如何在python中提取地理标记的推文

时间:2013-10-18 18:48:31

标签: python twitter

我有一个python文件,我曾经从twitter中提取地理标记的推文,但现在它需要OAuth。我正在尝试使用1.1,但我不确定接下来该做什么。我的代码来自Twitter API documentation,由于文档错误(force_auth_header=True was removed and set body=""),因此进行了一些细微更改。

我四处搜索,但这些帖子都已过时或令人困惑。我想我很接近,但不知道下一步该去哪里。最后我想使用类似search_url3的东西,但我知道格式不正确,因为我可以说它有401错误。

与此同时,如果我能以json格式得到结果,那就太棒了。

我曾经使用过这样的东西:

search = urllib.urlopen("http://search.twitter.com/search.json?q=&rpp=100&geocode=39.95256,-75.164,2mi)
for result in j["results"]:
    ...

我目前的代码:

import oauth2 as oauth

consumer_key="123"
consumer_secret="345"
Access_token="567"
Access_token_secret="890"

def oauth_req(url, key, secret, http_method="GET",http_headers=None):
     consumer = oauth.Consumer(key, secret)
     token = oauth.Token(Access_token,Access_token_secret)
     client = oauth.Client(consumer, token)
     resp, content = client.request(url,method=http_method,body="",
          headers=http_headers)

     print resp

return content

 search_url2="https://api.twitter.com/1.1/search/tweets.json?q=&geocode=39.95256,-75.164,2mi"
 search_url3="https://api.twitter.com/1.1/search/tweets.json?q=%23freebandnames&since_id=24012619984051000&max_id=250126199840518145&result_type=mixed&count=4"
 home_timeline = oauth_req(search_url3,  consumer_key,  consumer_secret)

1 个答案:

答案 0 :(得分:1)

基本上,除非这是一些家庭作业,否则你做错了。有一个非常好的(并不是那么棒)python-twitter库和包装器,除非构建一个是你的核心任务而不是使用其中一个:

等。