简体   繁体   English

如何打开对 Twitter 搜索查询的 JSON 响应?

[英]How do I open the JSON response to my Twitter search query?

I have this rauth-powered command-line Python script so far:到目前为止,我有这个由 rauth 驱动的命令行 Python 脚本:

import json
from rauth import OAuth1Service

twitter = OAuth1Service(
            name='twitter',
            consumer_key='[REDACTED]',
            consumer_secret='[REDACTED]',
            request_token_url='https://api.twitter.com/oauth/request_token',
            access_token_url='https://api.twitter.com/oauth/access_token',
            authorize_url='https://api.twitter.com/oauth/authorize',
            base_url='https://api.twitter.com/1.1/')

request_token, request_token_secret = twitter.get_request_token()
authorize_url = twitter.get_authorize_url(request_token)

print 'Copy-paste this URL into your browser: ' + authorize_url
twitter_pin = raw_input('Enter PIN: ')

session = twitter.get_auth_session(request_token,
                                   request_token_secret,
                                   method='POST',
                                   data={'oauth_verifier': twitter_pin})

search_results = session.get('search/tweets.json', params={'q':'example'})

print json.dumps(search_results)

rauth does all the OAuth handling and I get an object in return. rauth 完成所有 OAuth 处理,我得到一个对象作为回报。 I try to print it and it says Response [200] (in pointy brackets), indicating a success.我尝试打印它并显示 Response [200](在尖括号中),表示成功。 I try to use Python's json.dump to print out the contents and I get:我尝试使用 Python 的 json.dump 打印出内容,我得到:

TypeError: <Response [200]> is not JSON serializable

I'm probably overlooking something very small.我可能忽略了一些非常小的东西。 What's wrong with this?这有什么问题?

Relevant Twitter documentationRelevant rauth documentation相关 Twitter 文档相关 Rauth 文档

The rauth library builds on top of the requests library , returning a specialised requests.Session object .rauth库建立在顶部requests,返回一个专门的requests.Session对象

The object returned by session.get() is a requests.Response object ; session.get()返回的对象是requests.Response对象 call the response.json() method to get the JSON response data as a Python structure:调用response.json()方法以获取 Python 结构形式的 JSON 响应数据:

print search_results.json()

No need to dump that back into a JSON string, work directly with the Python data structure.无需将其转储回 JSON 字符串,直接使用 Python 数据结构。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM