簡體   English   中英

如何在 python 中為 Twitter 的搜索 API 形成搜索查詢?

[英]How do I form a search query in python for Twitter's search API?

我通過了身份驗證部分,但我不知道如何為搜索部分形成查詢。

身份驗證: 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 中的響應查詢

您需要使用返回給您的消費者密鑰以進行進一步請求。 在文檔中,您可以看到有一個 curl 請求,您可以在其中在標頭中添加令牌。 這就是我會做的:

對於請求,使用標頭執行 GET 請求,在標頭中,您將授權密鑰填充為此類值。

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

並作為有效負載,將帶有您的搜索詞 q 和 twitter 提供的其他內容作為參數選項傳入 params sa 字典。

{'q': '我的搜索詞', 'lang':'language'}

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

r 將是響應,然后您可以將其轉換為 json 以進行進一步操作

r.json()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM