[英]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.