Cách tạo trình rút ngắn URL bằng Python và Bitly

Rút gọn link giúp mang tới trải nghiệm lướt web dễ chịu hơn cho người dùng của bạn. Dịch vụ Bitly cũng có thể giúp bạn làm việc này.

Rút gọn link trong Python

Bitly là một dịch vụ cho phép bạn tạo các link rút gọn dẫn tới URL phức tạp và dài hơn. Những link rút gọn này dễ ghi nhớ, chia sẻ và theo dõi hơn URL dài ban đầu.

Bạn có thể rút gọn URL trên web Bitly bằng tài khoản cá nhân. Bitly cũng cung cấp một API cho phép bạn rút gọn URL từ ứng dụng. Cơ chế hoạt động của nó là gửi một truy vấn tới Bitly để rút gọn link. Bitly sẽ trả về link dẫn tới ứng dụng của bạn.

Bạn có thể tích hợp Bitly API vào một script Python đơn giản.

Cách tạo một token truy cập bằng tài khoản Bitly

Bạn cần một token truy cập để dùng Bitly API. Nếu chưa có tài khoản Bitly, hãy tạo mới để có một token truy cập mới.

1. Từ bảng điều khiển hoặc trang chính của tài khoản Bitly, dùng menu bên cạnh để điều hướng tới trang Settings:

Cách tạo link rút gọn

2. Ở bên trái, trong Developer settings, click API:

API trong Python

3. Click Generate token.

4. Bitly sẽ tạo một token truy cập mới. Lưu token để xem sau. Bạn có thể cần nhập lại mật khẩu để xem token.

Token Acess được tạo bằng Python

Cách yêu cầu một URL dài từ người dùng bằng tập lệnh Python

Giờ bạn có thể dùng token truy cập trong một tập lệnh Python. Bạn có thể tìm hiểu chi tiết về cách dùng Python trên Quantrimang.com.

Trước khi dùng API, người dùng cần nhập URL muốn rút gọn. Bạn có thể dùng các đối số dòng lệnh để nhập link vào tập lênh Python.

1. Tạo một tập lệnh Python mang tên shortURL.py và thêm các import sau vào đầu file. Chúng sẽ cho phép bạn dùng truy vấn API và chức năng phản hồi trong file Python. Bạn có thể dùng mô đun sys để chấp nhận các đối số dòng lệnh.

import requests
import json
import time
import sys

2. Khi chạy tập lệnh Python, bạn có thể nhập URL muốn rút gọn trực tiếp vào dòng lệnh, chẳng hạn như:

python shortURL.py https://www.example.com/a/made/up/url

Để lệnh trên hoạt động, dùng mô đun sys để lấy một danh sách các đối số dòng lệnh:

commandLineArgs = sys.argv

3. Kiểm tra xem liệu có bất kỳ đối số dòng lệnh nào hay không. Nếu có, lưu link trong một biến. Nếu không, print một thông báo cho người dùng biết rằng cần chạy lại lệnh bằng URL đã nhập dưới dạng đối số dòng lệnh:

if len(commandLineArgs) > 1:
  url = commandLineArgs[1]
else:
  print('Please enter the URL you want to shorten as a command line argument')
  sys.exit()

4. Print một thông báo cập nhật trạng thái cho người dùng:

print('Generating shortened URL...')

Cách dùng Bitly API để rút gọn URL

Sau khi có URL trong tập lệnh Python, dùng API để gửi yêu cầu rút gọn URL tới Bitly.

1. Lưu trữ token truy cập mà bạn đã tạo từ Bitly ở các bước trước đó:

access_token = 'YOUR ACCESS TOKEN'

2. Lưu trữ endpoint Bitly được dùng cho URL được rút gọn:

endpoint = 'https://api-ssl.bitly.com/v4/shorten' 

3. Tạo header API mà bạn sẽ bao gồm trong truy vấn. Điều này xác minh quyền truy cập của bạn tới API bằng token access:

headers = {
  'Authorization': f'Bearer {access_token}',
  'Content-Type': 'application/json',
} 

4. Một truy vấn có thể thất bại vì nhiều lí do, bao gồm lỗi mạng hoặc server. Dùng một bộ đếm retry sẽ gửi lại truy vấn nếu nó thất bại 3 lần:

max_retries = 3
retry_count = 0

while retry_count < max_retries:
  # Send request
else:
  print('URL shortening was not successful.')

5. Bên trong vòng lặp while, gửi truy vấn bao gồm URL dài và lưu phản hồi đó:

data = {
  'long_url': url,
}

response = requests.post(endpoint, headers=headers, data=json.dumps(data)) 

6. Kiểm tra xem phản hồi đó có thành công hay không. Nếu có, phản hồi sẽ bao gồm một số dữ liệu. Bên trong dữ liệu sẽ là giá trị chuỗi của URL được rút gọn. Print nó tới người dùng và thoát chương trình:

if response.status_code == 200:
  shortened_url = json.loads(response.content)['link']
  print(f'Shortened URL: {shortened_url}')
  break

7. Nếu phản hồi không thành công, tăng bộ đếm retry và đợi một lúc trước khi thử lại:

else:
  retry_count += 1

  if retry_count < max_retries:
    time.sleep(5)

Cách kiểm tra URL mới trong trình duyệt

Chạy tập lệnh Python ở dòng lệnh để tạo một liên kết được rút gọn mới. Bạn có thể vào link này ở trình duyệt web và nó sẽ điều hướng tới link gốc, dài hơn.

1. Trong một dòng lệnh hoặc terminal, điều hướng tới thư mục nơi bạn đã lưu trữ tập lệnh Python. Nếu đã lưu trữ nó trên desktop Windows, lệnh của bạn sẽ trông tương tự như sau:

cd C:\Users\Sharl\Desktop

2. Cài đặt mô đun request để tập lệnh Python có thể nhận diện nó:

pip install requests

3. Chạy tập lệnh Python bằng lệnh python. Sau tên file, nhập link dài làm đối số dòng lệnh:

python shortURL.py https://quantrimang.com/cong-nghe/top-game-mobile-ra-mat-trong-thang-195727

4. Đợi quá trình tạo link được rút gọn hoàn tất:

5. Sao chép link và nhập nó vào trình duyệt. Link ngắn này sẽ điều hướng tới link dài hơn mà bạn đã nhập trước đó:

Giờ bạn đã hiểu cách rút gọn link trong Python để có những liên kết dễ ghi nhớ hơn. Bạn có thể dùng tập lệnh để rút gọn bất kỳ link dài trước khi chia sẻ nó với người khác.

Hi vọng bài viết hữu ích với các bạn!

Thứ Hai, 06/03/2023 10:05
53 👨 586
0 Bình luận
Sắp xếp theo
    ❖ Python