Python如何制作URL缩短器?本文带你了解如何使用 Bitly 和 Cuttly API 使用 Python 中的请求库以编程方式缩短长 URL,包括一些Python制作URL缩短器示例。
【如何在Python中制作URL缩短器(代码实现示例)】如何在Python中制作URL缩短器?一个URL缩短器是一个工具,需要很长的URL,并把它变成一个短重定向到目标页面。URL 缩短器在许多情况下被证明是有用的,例如跟踪点击次数或要求用户只输入少量字符,因为长 URL 难以记忆。
在本教程中,我们将使用Bitly和Cuttly
API 在 Python 中自动缩短 URL。
我们不会在本教程中使用任何 API 包装器,因此,为了方便起见,我们需要请求库,让我们安装它:
pip3 install requests
Bitly APIPython如何制作URL缩短器?使用 Bitly API。首先,你需要注册一个新帐户,它是免费的,如果你已经拥有一个,那么只需使用它。
创建 Bitly 帐户后,我们需要获取我们的帐户 ID,以便我们可以访问 API。继续并单击你右上角的个人资料,然后单击帐户设置:
文章图片
之后,获取我们在代码中需要的帐户名称,如下图所示:
文章图片
好的,这就是我们所需要的,让我们现在开始编码:
import requests# account credentials
username = "o_3v0ulxxxxx"
password = "your_password_here"
Python制作URL缩短器示例:这
username
是我刚刚向你展示如何获取它的帐户名称,password
是你的 Bitly 帐户的实际密码,因此你应该将它们替换为你的凭据。如果你仔细阅读Bitly API 文档,你会发现我们需要一个访问令牌才能进行 API 调用以获取缩短的 URL,因此让我们创建一个新的访问令牌:
# get the access token
auth_res = requests.post("https://api-ssl.bitly.com/oauth/access_token", auth=(username, password))
if auth_res.status_code == 200:
# if response is OK, get the access token
access_token = auth_res.content.decode()
print("[
!] Got access token:", access_token)
else:
print("[
!] Cannot get access token, exiting...")
exit()
如何在Python中制作URL缩短器?我们使用
requests.post()
方法向/oauth/access_token
端点发出 POST 请求并获取我们的访问令牌。我们传递了auth
参数以将我们的帐户凭据添加到请求标头中。现在我们有了访问令牌,在我们深入研究缩短 URL 之前,我们首先需要获取与我们的 Bitly 帐户关联的组 UID:
# construct the request headers with authorization
headers = {"Authorization": f"Bearer {access_token}"}# get the group UID associated with our account
groups_res = requests.get("https://api-ssl.bitly.com/v4/groups", headers=headers)
if groups_res.status_code == 200:
# if response is OK, get the GUID
groups_data = https://www.lsbin.com/groups_res.json()['groups'][
0]
guid = groups_data[
'guid']
else:
print("[
!] Cannot get GUID, exiting...")
exit()
现在我们有了
guid
,让我们请求缩短示例 URL:# the URL you want to shorten
url = "https://www.xyz.com/topic/using-apis-in-python"
# make the POST request to get shortened URL for `url`
shorten_res = requests.post("https://api-ssl.bitly.com/v4/shorten", json={"group_guid": guid, "long_url": url}, headers=headers)
if shorten_res.status_code == 200:
# if response is OK, get the shortened URL
link = shorten_res.json().get("link")
print("Shortened URL:", link)
我们正在向
/v4/shorten
端点发送一个 POST 请求以缩短我们的url
,我们传递了group_guid
我们帐户的 ,url
我们想要缩短作为请求的正文。我们使用
json
参数而不是data
inrequests.post()
方法将我们的 Python 字典自动编码为JSON 格式并使用Content-Type
as发送application/json
,然后我们添加了标头以包含我们之前获取的授权令牌,这是我的输出:Shortened URL: https://bit.ly/32dtJ00
太好了,我们已经成功地使用 Bitly 缩短了我们的 URL!这是他们的官方文档。
Cuttly API另一种选择是使用 Cuttly API,创建一个新帐户并使用它的 API非常容易。注册帐户后,转到“你的帐户”并单击“编辑帐户”:
文章图片
之后,你将看到你的帐户详细信息,继续并单击“更改 API 密钥”以获取新的 API 密钥(以便我们可以发出 API 请求):
文章图片
Python制作URL缩短器示例 - 要使用 Cuttly 缩短你的 URL,非常简单:
import requestsapi_key = "64d1303e4ba02f1ebba4699bc871413f0510a"
# the URL you want to shorten
url = "https://www.xyz.com/topic/using-apis-in-python"
# preferred name in the URL
api_url = f"https://cutt.ly/api/api.php?key={api_key}&
short={url}"
# or
# api_url = f"https://cutt.ly/api/api.php?key={api_key}&
short={url}&
name=some_unique_name"
# make the request
data = https://www.lsbin.com/requests.get(api_url).json()["url"]
if data[
"status"] == 7:
# OK, get shortened URL
shortened_url = data[
"shortLink"]
print("Shortened URL:", shortened_url)
else:
print("[
!] Error Shortening URL:", data)
Python如何制作URL缩短器?只需替换你的 API 密钥
api_key
和你想要缩短的 URL,你就可以开始了,这是我的输出:Shortened URL: https://cutt.ly/mpAOd1b
请注意,你可以指定一个唯一的名称,结果将类似于:
https://cutt.ly/some_unique_name
,你可以通过简单地向name
URL 中的 GET 请求添加参数来实现这一点。阅读有关Cuttly 文档的更多信息。
结论如何在Python中制作URL缩短器?通过以上的具体示例,现在你知道如何使用 Bitly 和 Cuttly 缩短器来缩短 URL!请注意,这些提供程序提供了更多用于获取点击次数、统计信息等的端点,你应该查看他们的文档以获取更多详细信息。
推荐阅读
- 如何在Python中翻译语言(代码实现示例)
- 如何在Python中获取Google页面排名(代码示例)
- 如何用Python制作电报机器人(代码示例教程)
- 如何在Python中使用Gmail API(用法教程)
- 如何在Python中使用YouTube API提取YouTube数据()
- 专业版windows10下载
- 本文教你windows7直接免费升级windows10
- 本文教你如何用win10序列号永久激活win10
- 2017珍藏版windows10激活密钥本文教你