【问题标题】:How do I form a search query in python for Twitter's search API?如何在 python 中为 Twitter 的搜索 API 形成搜索查询?
【发布时间】:2020-06-17 19:59:47
【问题描述】:

我通过了身份验证部分,但我不知道如何为搜索部分形成查询。

身份验证:https://developer.twitter.com/en/docs/basics/authentication/oauth-2-0/bearer-tokens

import base64
import os
import requests
import urllib.parse

CONSUMER_KEY = os.environ.get("CONSUMER_KEY")
CONSUMER_SECRET = os.environ.get("CONSUMER_SECRET")
OAUTH2_ENDPOINT = "https://api.twitter.com/oauth2/token"

def get_bearer_token(consumer_key, consumer_secret):
    consumer_key = urllib.parse.quote(consumer_key)
    consumer_secret = urllib.parse.quote(consumer_secret)
    bearer_token = consumer_key + ":" + consumer_secret
    base64_encoded_bearer_token = base64.b64encode(bearer_token.encode('utf-8'))
    headers = {
        "Authorization": "Basic " + base64_encoded_bearer_token.decode('utf-8') + "",
        "Content-Type": "application/x-www-form-urlencoded;charset=UTF-8",
        "Content-Length": "29"
    }
    data = {
        "grant_type": "client_credentials"
    }
    response = requests.post(OAUTH2_ENDPOINT, headers=headers, data=data)
    to_json = response.json()
    access_token = to_json["access_token"]

if __name__ == "__main__":
    get_bearer_token(CONSUMER_KEY, CONSUMER_SECRET)

搜索 API:https://developer.twitter.com/en/docs/tweets/search/api-reference/get-search-tweets

我不确定如何将“示例请求”转换为 python 中的响应查询

【问题讨论】:

    标签: python twitter twitter-oauth


    【解决方案1】:

    您需要使用返回给您的使用者密钥进行进一步的请求。在文档中,您可以看到有一个 curl 请求,您在标头中添加了令牌。这就是我会做的:

    使用请求执行带有标头的 GET 请求,在标头中您的授权密钥中填充了此类值。

    '授权:OAuth oauth_consumer_key="consumer-key-for-app"

    作为有效负载,传入 params 一个字典,其中包含您的搜索词 q 和 twitter 提供的其他参数选项。

    {'q': '我的搜索词', 'lang':'语言'}

    r = requests.get(url, headers=headers, params=payload)
    

    r 将是响应,然后您可以将其转换为 json 以便使用

    进行进一步操作
    r.json()
    

    【讨论】:

      猜你喜欢
      • 2014-07-09
      • 2013-06-02
      • 1970-01-01
      • 1970-01-01
      • 2012-11-30
      • 2013-07-24
      • 2013-05-23
      • 1970-01-01
      • 2016-07-07
      相关资源
      最近更新 更多