1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Báo cáo chuyên Đề học phần ngôn ngữ lập trình python Đề tài công cụ tải dữ liệu Định dạng video từ youtube

8 2 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Công cụ tải dữ liệu định dạng video từ Youtube
Tác giả Phạm Thanh Hải
Người hướng dẫn Đinh Thu Khánh
Trường học Trường Đại học Điện lực
Chuyên ngành Công nghệ thông tin
Thể loại Báo cáo chuyên đề học phần
Năm xuất bản 2023
Định dạng
Số trang 8
Dung lượng 37,15 KB

Nội dung

Những kiến thức và kinh nghiệm thực tế mà thầy/cô chia sẻ không chỉ giúp em tiếp cận với ngôn ngữ lập trình một cách có hệ thống, mà còn mở rộng tầm nhìn về cách ứng dụng Python vào các

Trang 1

TRƯỜNG ĐẠI HỌC ĐIỆN LỰC

KHOA CÔNG NGHỆ THÔNG TIN

BÁO CÁO CHUYÊN ĐỀ HỌC PHẦN

NGÔN NGỮ LẬP TRÌNH PYTHON

ĐỀ TÀI:

CÔNG CỤ TẢI DỮ LIỆU ĐỊNH DẠNG

VIDEO TỪ YOUTUBE

Sinh viên thực hiện : PHẠM THANH HẢI -

21810310175

Giảng viên hướng dẫn

: ĐINH THU KHÁNH

Lớp học phần Khoa

: D16CNPM3 : CÔNG NGHỆ THÔNG TIN Chuyên ngành

Khóa

: CÔNG NGHỆ PHẦN MỀM : 2021-2025

Trang 2

PHIẾU CHẤM ĐIỂM

Sinh viên thực hiện :

STT Họ và tên sinh

viên

Nội dung thực hiện Điểm Chữ ký

1 Phạm Thanh Hải

21810310175

Giáo viên chấm điểm:

Giảng viên chấm 1:

Giảng viên chấm 2:

Trang 3

LỜI CÁM ƠN

Kết thúc quá trình thực hiện đề tài này, em xin gửi lời cảm ơn chân thành đến

cô Đinh Thu Khánh, người đã luôn hỗ trợ em trong suốt quá trình học môn

"Ngôn ngữ lập trình Python" Những kiến thức và kinh nghiệm thực tế mà thầy/cô chia sẻ không chỉ giúp em tiếp cận với ngôn ngữ lập trình một cách

có hệ thống, mà còn mở rộng tầm nhìn về cách ứng dụng Python vào các dự

án thực tiễn Sự hướng dẫn tận tình của thầy/cô đã giúp em có thể tự tin triển khai và hoàn thiện đề tài công cụ tải video từ YouTube này

Bên cạnh đó, em cũng không thể không nhắc đến sự hỗ trợ quý báu từ các bạn học cùng lớp Những buổi thảo luận nhóm, chia sẻ tài liệu, và trao đổi ý kiến đã giúp em hiểu rõ hơn về những khía cạnh phức tạp của đề tài Mỗi lần gặp phải khó khăn trong việc xử lý mã lệnh hoặc tối ưu công cụ, em đều nhận được những ý tưởng và gợi ý hữu ích từ các bạn, điều này đã giúp em rất nhiều trong việc hoàn thành dự án

Ngoài ra, em cũng xin cảm ơn đến các nguồn tài liệu tham khảo, các diễn đàn lập trình trực tuyến đã cung cấp cho em những thông tin bổ ích để giải quyết các vấn đề kỹ thuật mà em gặp phải Những bài viết và hướng dẫn chi tiết đã giúp em tiết kiệm rất nhiều thời gian trong việc tìm kiếm giải pháp và nâng cao kỹ năng lập trình của mình

Cuối cùng, em xin gửi lời cảm ơn đến gia đình và những người thân đã luôn tạo điều kiện thuận lợi, ủng hộ và động viên em trong suốt quá trình học tập

và nghiên cứu Nhờ có sự hỗ trợ và thấu hiểu từ mọi người, em đã có thể tập trung hoàn toàn vào việc hoàn thành tốt nhất bài báo cáo này

Trân trọng,

Phạm Thanh Hải

Trang 4

LỜI MỞ ĐẦU

Ngôn ngữ lập trình Python đã và đang trở thành một trong những công cụ mạnh mẽ và phổ biến nhất trong lĩnh vực phát triển phần mềm nhờ tính đơn giản, dễ học và khả năng ứng dụng đa dạng Trong suốt quá trình học tập môn "Ngôn ngữ lập trình Python", em đã có cơ hội tìm hiểu sâu hơn về các cấu trúc dữ liệu, thuật toán, cũng như khả năng tương tác với các API để xây dựng các ứng dụng thực tiễn

Đề tài của báo cáo này tập trung vào việc xây dựng một công cụ tải video từ YouTube bằng Python Đây là một ứng dụng có tính thực tiễn cao, cho phép người dùng tải xuống các video từ nền tảng YouTube một cách nhanh chóng

và dễ dàng Thông qua việc thực hiện đề tài này, em không chỉ củng cố kiến thức về lập trình Python mà còn học hỏi thêm cách làm việc với các thư viện

hỗ trợ như pytube, cùng quy trình xử lý dữ liệu video trực tuyến một cách hiệu quả

Trong báo cáo này, em sẽ trình bày chi tiết về quá trình xây dựng công cụ, các bước thực hiện, những khó khăn đã gặp phải, cách khắc phục, cũng như những bài học quý báu mà em rút ra sau khi hoàn thành dự án

Chương I NGÔN NGỮ LẬP TRÌNH PYTHON

Trang 5

1 Tổng quan về ngôn ngữ lập trình Python

a Khái niệm

- Python là một ngôn ngữ lập trình thông dịch (interpreted), hướng đối tượng (object-oriented), và là một ngôn ngữ bậc cao (high-level) ngữ nghĩa động (dynamic semantics)

- Python hỗ trợ các module và gói (packages), khuyến khích chương trình module hóa và tái sử dụng mã Trình thông dịch Python và thư viện chuẩn mở rộng có sẵn dưới dạng mã nguồn hoặc dạng nhị phân miễn phí cho tất cả các nền tảng chính và có thể được phân phối tự do

- Python đã được hình thành vào cuối những năm 1980, và việc thực hiện nó vào tháng 12 năm 1989 bởi Guido van Rossum tại Centrum Wiskunde & Informatica (CWI) ở Hà Lan như là một kế thừa cho ngôn ngữ ABC (tự lấy cảm hứng từ SETL) có khả năng xử lý ngoại lệ và giao tiếp với Hệ điều hành Amoeba Van Rossum là tác giả chính của Python, và vai trò trung tâm của ông trong việc quyết định hướng phát triển của Python

- Các đặc điểm của Python: + Ngữ pháp đơn giản, dễ đọc.Vừa hướng thủ tục (procedural-oriented), vừa hướng đối tượng (object-oriented)

+ Hỗ trợ module và hỗ trợ gói (package) + Xử lý lỗi bằng ngoại lệ (Exception)

+ Kiểu dữ liệu động ở mức cao

+ Có các bộ thư viện chuẩn và các module ngoài, đáp ứng tất cả các nhu cầu lập trình

+ Có khả năng tương tác với các module khác viết trên C/C++ (Hoặc Java cho Jython, hoặc Net cho

IronPython)

Trang 6

+ Có thể nhúng vào ứng dụng như một giao tiếp kịch bản (scripting interface)

- Python hiện nay là một trong những ngôn ngữ lập trình phổ biến nhất trên thế giới Những nền tảng, trang web hay ứng dụng sử dụng đến Python có thể kể đến như: Instagram, Facebook, OpenAI, … Bởi nó

có một cộng đồng sôi động, ngôn ngữ gần với ngôn ngữ tự nhiên nên rất dễ hiểu và sử dụng

b Ưu nhược điểm của ngôn ngữ lập trình Python

● Tuy là một ngôn ngữ lập trình phổ biến nhưng Python cũng có ưu nhược điểm riêng của nó trong quá trình sử dụng, cụ thể:

- Ưu điểm:

+ Dễ học và sử dụng: Cú pháp đơn giản, dễ đọc, giúp người mới nhanh chóng tiếp cận

+ Thư viện phong phú: Hệ sinh thái đa dạng cho khoa học dữ liệu, phát triển web, AI, v.v

+ Đa nền tảng: Chạy trên nhiều hệ điều hành mà không cần thay đổi mã

+ Cộng đồng lớn: Hỗ trợ mạnh mẽ, nhiều tài liệu và nguồn học liệu

+ Lập trình hướng đối tượng: Tổ chức mã tốt, dễ bảo trì

- Nhược điểm:

+ Hiệu suất chậm: Chậm hơn các ngôn ngữ biên dịch như C/C+

Trang 7

+ Đa luồng hạn chế: GIL gây cản trở cho xử lý đa luồng.

+ Không tối ưu cho di động: Ít dùng để phát triển ứng dụng di động

+ Tiêu thụ bộ nhớ nhiều: Không hiệu quả với các ứng dụng đòi hỏi tài nguyên thấp

2 Tổng quan về những thư viện được sử dụng

- Để hoàn thiện bài tập theo đề tài, em em sẽ sử dụng những thư viện như: os, json, tkinter, và đặc biệt là yt_dlp để tạo nên tool có thể tải được video từ youtube Cụ thể các chức năng và ứng dụng của các thư viện là:

+ os: Là thư viện được sử dụng để Python có thể tương tác được với hệ điều hành Trong dự án của mình, em sử dụng thư viện

“os” để tool có thể đọc ghi được dữ liệu vào ổ cứng và chọn đường dẫn lưu video vào trong ổ cứng của máy tính

+ json: Tuy được sử dụng rộng rãi trong Java nhưng Python cũng

có thể sử dụng được loại dữ liệu này Em sử dụng thư viện “json”

để lưu các dữ liệu cài đặt của tool nhằm nâng cao chất lượng trải nghiệm

+ tkinter: Em lựa chọn thư viện “tkinter” để tạo ra một giao diện cơ bản cho một chương trình cửa sổ sử dụng ngôn ngữ lập trình Python.Các component đơn giản được em sử dụng như textbox, nút, …

+ Yt_dlp: Thư viện cuối cùng và là thành phần chính của tool là thư viện “yt_dlp” Thư viện yt-dlp là một công cụ mạnh mẽ để tải video và âm thanh từ nhiều trang web chia sẻ video, đặc biệt là YouTube Nó là một nhánh (fork) của công cụ nổi tiếng

Trang 8

youtube-dl, nhưng đi kèm với các tính năng cải tiến và sửa lỗi Ngoài video clip trên youtube, thư viện còn hỗ trợ tải cả các video trên tiktok, facebook, …

+ Ngoài những thư viện nêu trên, em còn sử dụng công cụ hỗ trợ FFMPEG FFmpeg là một bộ công cụ phần mềm mạnh mẽ và đa năng, chủ yếu dùng để xử lý, chuyển đổi, và truyền tải các tệp đa phương tiện (video, âm thanh) FFmpeg hỗ trợ một loạt các định dạng và codec, giúp nó trở thành công cụ ưa thích trong nhiều ứng dụng chỉnh sửa video, âm thanh, và xử lý luồng đa phương tiện Cụ thể trong tool của mình, em sử dụng FFmpeg để chuyển đổi kiểu webm của video sang dạng mp4 để có thể xem tốt hơn

và nâng cao trải nghiệm người dùng

Ngày đăng: 13/11/2024, 20:06

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w