Bài viết này, mình sẽ hướng dẫn bạn dùng API của 1 bên thứ 3, và documents, Chatgpt để tạo 1 ứng dụng tải video đơn giản MÀ KHÔNG CẦN HỌC LẬP TRÌNH , Vì CEO Nvidia ,ông Jensen Huang: ‘Không cần học lập trình, nên học ra lệnh cho AI’
Để làm được ứng dụng, bạn cần chuẩn bị một số thứ như sau:
Cài đặt Python: Python là ngôn ngữ lập trình chúng ta sẽ sử dụng để viết ứng dụng. Để cài Python:
Vào trang https://www.python.org/downloads/, chọn phiên bản Python phù hợp (ví dụ mình thì dùng 3.11.6)
Tải file cài đặt về và chạy, nhớ tích chọn “Add Python to PATH” khi cài nhé.
Cài đặt các thư viện cần thiết: Chúng ta sẽ dùng pip – trình quản lý gói của Python để cài các thư viện. Mở Command Prompt (cmd) hoặc Terminal và chạy lần lượt:
pip install httpx
pip install aiofiles
pip install tikhub
pip install python-dotenv
Các lệnh trên sẽ cài đặt 4 thư viện cần thiết cho dự án của chúng ta.
Tạo API Key trên Tikhub: API Key là “chìa khóa” để ứng dụng của chúng ta giao tiếp được với TikHub. Để tạo API Key:
Đăng ký tài khoản tại Vào Link này, đăng ký tài khoản
Vào phần API keys > Chọn Create API Keys sau đó tick hết các checkbox mà bạn cần để quản lý việc tạo dùng key cho các ứng dụng .
Chuẩn bị môi trường code: Để code thuận tiện, mình khuyên bạn nên dùng VS Code. Tải về tại: https://code.visualstudio.com/download
Sau khi cài xong các thứ trên, bạn đã sẵn sàng để bắt đầu tạo ứng dụng rồi đó.
Tiếp theo, bạn sẽ cần nhờ sự trợ giúp của trợ lý ảo ChatGPT để viết code cho ứng dụng. Bạn có thể truy cập ChatGPT tại https://chat.openai.com/ nhé.
Để ChatGPT hiểu và viết code đúng ý bạn, bạn cần đưa ra các chỉ dẫn (prompts) rõ ràng cho nó. Dưới đây là một số prompts gợi ý cho từng phần của ứng dụng:
Yều Cầu Tạo file .env để lưu API key:
Tôi muốn tạo một file .env để lưu trữ API key cho ứng dụng Python.
Hãy viết code Python để tạo file .env mặc định nếu nó chưa tồn tại, và nạp nội dung của nó vào một biến api_key.
Nếu api_key chưa được thiết lập đúng, hãy raise một ValueError với thông báo phù hợp.
Khởi tạo TikHub client và Tạo giao diện sử dụng:
Tôi đang viết một ứng dụng Python để tải video từ Douyin.
Tôi đã cài thư viện tikhub và đã có API key trong biến api_key.
Bây giờ tôi cần khởi tạo một client TikHub để tương tác với API của Douyin.
Hãy viết đoạn code khởi tạo client sử dụng api_key đã cho. Dùng Worker để tránh giao diện bị treo khi làm việc , giao diện dùng PyQt6 để làm Gui , thêm groupbox, line, button toggled, và đảm bảo giao diện 100% tiếng việt nam, thông báo bằng tiếng Việt lên giao diện với logging để tôi biết quá trình làm việc .
Sau đó bạn có thể vào phần API documents của Link tại Đây
copy toàn bộ nội dung trong documents cho Chatgpt, để nó hiểu và làm theo yêu cầu của bạn
sau khi có code, bạn tiến hành vào Vscode, dự án của bạn, paste code vào, điền key vào file .env sau đó điền link video thử .
và bạn cần xem phản hồi của chatgpt sau đó xem phần video có json như thế nào, và yêu cầu chatgpt tải video khi tìm thấy đường link phù hợp
ví dụ mình đã tìm thấy thông tin cần thiết, và mình sẽ yêu cầu tải về và chatgpt sẽ phản hồi :
# Download video function
async def download_file(video_info: dict, play_addr: str, output_dir: str = “downloads”):
os.makedirs(output_dir, exist_ok=True) # | Synchronous because it’s lightweight
file_name = os.path.join(output_dir, f”{video_info[‘data’][‘aweme_detail’][‘aweme_id’]}.mp4″)
# Request file and download
async with httpx.AsyncClient() as http_client:
try:
response = await http_client.get(play_addr)
response.raise_for_status() # Check response status
except httpx.HTTPStatusError as exc:
print(f”Error downloading video: {exc.response.status_code}”)
return None
#Save file
async with aiofiles.open(file_name, “wb”) as file:
await file.write(response.content)
return file_name
# Lấy Thông Tin Của Video
async def get_video_info(video_url: str):
try:
video_info = await client.DouyinAppV3.fetch_one_video_by_share_url(video_url)
play_addr = video_info[“data”][“aweme_detail”][“video”][“play_addr_265”][“url_list”][0]
return video_info, play_addr
except KeyError as e:
print(f”Error retrieving video info: {e}”)
return None, None
và bạn hãy yêu cầu chatgpt phản hồi lại cho đúng định dạng cần thiết .
lúc này bạn sẽ có đầy đủ code : bạn có thể xem qua phiên chat của mình nhé : https://chatgpt.com/share/674fc76a-d1c0-800d-a0d6-b8b1594001b9
Mình muốn đảm bảo rằng ai cũng có thể tự tạo ứng dụng của mình, nếu bạn đang dùng Chatgpt Plus , bạn có thể dùng phiên bản được mình tối ưu cho python : ChatGPT Python Dev Kalvin Thien
nếu có lỗi hãy hỏi chatgpt để tìm cách fix, nếu vẫn không thể fix bạn có thể để lại comment mình sẽ hướng dẫn bạn cách fix nhé !
Vì sao bạn nên dùng TikHub , việc có 1 bên cung cấp API sẵn thì bạn sẽ dễ dàng tiếp cận hơn, và nếu có lỗi họ cũng xử lý từ sever của họ, việc bạn dùng Client thì chỉ việc kết nối vào API và xử lý phản hồi , từ đó bạn có thể làm nhiều thứ hơn là tải videos đơn giản.
Bạn cũng có thể tải toàn bộ video của 1 kênh TikTok, Douyin ,Youtube ,weibo,xiaohongshu,bilibili,twitter,instagram,instagram,xigua hoàn toàn đơn giản.
Giờ thì bạn có thể vào đây , để đăng ký Tikhub API : Tikhub API
Link Docs : Documents Tikhub
Chúc bạn thành công
Cảm ơn bạn đã xem qua bài viết này , mình là Thiện, 1 người yêu thích công nghệ và chia sẻ, hãy theo dõi website của mình nhé!