Hướng dẫn python requests cli - python yêu cầu cli
Thư viện requests là một thư viện HTTP đơn giản dành cho python. Về cơ bản nó sử dụng để gửi yêu cầu HTTP qua các dịch vụ web API. Thư viện requests không đi kèm với thư viện tiêu chuẩn của python, để cài đặt nó bằng lệnh pip. Show Trong bài viết này, bạn sẽ tìm hiểu những kiến thức cơ bản về thư viện requests bằng cách áp dụng nó để lấy số liệu thời gian thực tình hình virus corona. Bắt đầu nào. Trong Windows, gõ lệnh pip sau ở Command Promt
Căn bản về thư viện requestThực hiện một yêu cầu trong requests rất đơn giản, thực hiện như sau Trước tiên, hãy chỉ định loại yêu cầu bạn đang thực hiện (POST, GET, PUT, DELETE) và URL mà bạn đang gửi yêu cầu kèm với các thông số bổ sung tùy thuộc vào loại yêu cầu. Bây giờ chúng ta hãy đưa ra yêu cầu đầu tiên bằng cách lấy các sự kiện trên github. Ta sẽ đưa ra yêu cầu GET (Yêu cầu GET hoạt động giống như cách trình duyệt của yêu cầu một trang). URL của sự kiện github là https://api.github.com/events Code ví dụ như sau
Xây dựng một project minh họaVí dụ mẫu này chúng ta sẽ xây dựng một project thực hiện GET từ URL cụ thể để có thể lấy được thông tin về virus corora trong thời gian thực. Ta sử dụng đường link dưới đây để lấy thông tin về virus corona ở Việt Nam
Nếu bạn muốn lấy cho quốc gia khác, hãy thay mã isocode của Việt Nam “VNM” thành mã khác tương ứng. Ta thử thực hiện gửi yêu cầu GET đến URL này
API trả về json phản hồi của số liệu thống kê virus corona của Việt Nam mỗi ngày kể từ trường hợp corona đầu tiên đến ngày thông tin cập nhật mới nhất. Thông thường khi chúng ta lấy thong tin, ta muốn lấy số liệu thống kê mới nhất. Để làm điều này, ta phải sắp xếp json phản hồi và chọn thống kê ngày mới nhất, điều này có thể được thực hiện bằng cách sử dụng OrderedDict và Sorted. Xây dựng một hàm để tự động thống kê các trường hợpTa thực hiện điều này như sau
Gọi hàm và thu được kết quả
Nếu có bất kỳ câu hỏi nào, hãy comment bên dưới. Tôi sẽ trả lời bạn nhanh nhất có thể Bài viết được sự cho phép của tác giả Nguyễn Việt Hưng Những “hacker” trên dòng lệnh luôn gõ nhoay nhoáy các “command line” để xử lý text: grep, cut, uniq, sort,… hay đôi khi chơi hẳn sed hoặc AWK, thậm chí Perl5. Thời xưa, Perl5 vốn là công cụ số một của các SysAdmin, khi mà Python vẫn chưa phổ biến do quá sạch đẹp nhưng cũng hơi “dài dòng” (so với Perl). Muốn làm gì với Python cũng phải viết ra 1 file, rồi chmod a+x rồi mới chạy được. Perl thì có cả ngàn phép biến hóa chỉ bằng 1 dòng, gọi là one-liner hay trên Wikipedia: perl -lne 'print if $_ eq reverse' /usr/share/dict/american-english 1 dòng trên để tìm ra các từ “palindrome’ (ngược xuôi như nhau). Python 1-linerPython 1-liner vốn không ngắn như mong đợi, do code Python nhấn mạnh vào sự rõ ràng dễ đọc, nên không có các ký tự bí hiểm 6 như Perl. Viết Python 1 dòng dùng option 7 như sau:$ python3 -c 'import math; print(math.sqrt(2**1000))' 3.273390607896142e+150 Các dòng không cần phải xuống dòng mà dùng dấu 8 để ngăn cách. Nhưng viết 9 hay 0 thì … hơi khó.Python nhiều dòngCách này đơn giản hơn, viêt code thành nhiều dòng, ý hệt như code trong file. Dùng dấu single quote 1 rồi enter để gõ code, sau đó kết thúc bằng dầu single quote 1.$ python3 -c ' > sum = 0 > for i in range(10): > sum += i > print(sum) > ' 45 Ví dụ sau lấy ra Shell của user 3 ghi trong file /etc/passwd, viết HOA:$ cat /etc/passwd | python -c ' > import sys > print(sys.stdin.readline().split(":")[-1].upper()) > ' /BIN/BASH hay đếm số ký tự kết quả trên bằng lệnh 4: 0Không phải 1 dòng, nhưng đẹp hơn 1 dòng, và hoàn toàn hợp lý. Ví dụ khác để in JSON đẹp: 1Hay dùng module có sẵn: 2Hoặc tìm các Palindromes trong file: 3Cách khác: 4Thử tháchViết lại ví dụ sau chỉ dùng các command line, không dùng Python: $ cat /etc/passwd | python -c ' > import sys > print(sys.stdin.readline().split(":")[-1].upper()) > ' /BIN/BASH Pro tips
Kết luậnPython dài và chất, đừng ngại dùng khi gõ CLI. Bài viết gốc được đăng tải tại pp.pymi.vn Có thể bạn quan tâm:
Xem thêm Việc làm cntt ngành python hấp dẫn trên TopDev |