我正在使用 Giphy API,我想知道如何自动获取 GIF 的图像 URL,而不是手动获取

Posted

技术标签:

【中文标题】我正在使用 Giphy API,我想知道如何自动获取 GIF 的图像 URL,而不是手动获取【英文标题】:I'm using the Giphy API and I was wondering how you could get a GIF's Image URL automatically, not manually 【发布时间】:2021-10-10 01:50:48 【问题描述】:

这是我的代码,它工作正常,但我怎样才能使有一个新变量等于 GIF 的图像 URL,以便用户可以获得 GIF 的源 URL?

import requests

url = "https://giphy.p.rapidapi.com/v1/gifs/search"

searchtag = input()

querystring = "api_key":"secret_key","q":searchtag,"limit":"1","offset":"0","rating":"pg-13"

headers = 
    'x-rapidapi-key': "4005b98f9bmsh977c629b89034a7p19b52fjsn22b7fb5ce3bb",
    'x-rapidapi-host': "giphy.p.rapidapi.com"
    

response = requests.request("GET", url, headers=headers, params=querystring)

print(response.text)

【问题讨论】:

【参考方案1】:

首先,为了您自己的人身安全,您可能应该删除您的 api 密钥。我建议查看环境文件以存储不属于数据库的私人信息。其次,回答您的问题,如果您愿意,可以将 url 声明为变量,在这里:

    import requests

url = "https://giphy.p.rapidapi.com/v1/gifs/search"

searchtag = input()

querystring = "api_key":process.env.APIKEY,"q":searchtag,"limit":"1","offset":"0","rating":"pg-13"

headers = 
    'x-rapidapi-key': "4005b98f9bmsh977c629b89034a7p19b52fjsn22b7fb5ce3bb",
    'x-rapidapi-host': "giphy.p.rapidapi.com"
    

response = requests.request("GET", url, headers=headers, params=querystring)
gifurl = response.text
print(gifurl)

【讨论】:

这对我没有太大帮助,我想知道如何获取 GIF 源 URL,而不是所有的东西。只是 GIF 的 URL,例如media2.giphy.com/media/LmNwrBhejkK9EFP504/… 尝试使用到所需字段的路径之间的句点来解析它,即,如果 api 返回 info: metadata: "metadata stuff here", sizeinfo: "size info here", sourceurl: "source url here" 那么路径就是 response.text.info.sourceurl 在这种情况下如何引用响应的不同部分?您的回答在其他方面很有帮助。我将查看文档以了解如何参考我的响应方式。 尝试用句点解析对我不起作用,它只是说 object(str) 没有属性 original 嗯,好吧,这次来看看实际情况,给我一点时间,刚刚完成另一个项目

以上是关于我正在使用 Giphy API,我想知道如何自动获取 GIF 的图像 URL,而不是手动获取的主要内容,如果未能解决你的问题,请参考以下文章

Giphy 上传适用于 .ajax 但不能获取

如何在streamlit上运行视频?

html GIPHY API /暂停GIF

如何在android webview中显示具有giphy iframe的网页?

如何从谷歌 api 令牌中获取数据?

获取向 Rails 服务器发出请求的 API