HTTP trong Python: thư viện Request (tiếp tục)
Trong học phần này, chúng ta sẽ sử dụng thư viện requests để làm việc với HTTP. Lí do tại sao là đơn giản: trong
khi “urllib” cung cấp chức năng HTTP vững chắc (đặc biệt so sánh với tình huống trong Python 2), sử dụng nó thường
đòi hỏi nhiều boilerplate code làm module kém thoải mái để sử dụng và rất không thanh lịch để đọc. So sánh với “urllib”
“urllib3” (không phải phần của các modules Python tiêu chuẩn) mở rộng hệ sinh thái Python liên quan HTTP với một vài
đặc tính tiên tiến, nhưng nó cũng không thực sự tập trung cái đó nhiều để là thanh lịch và ngắn gọn. Đó là nơi
requests đi tới. Thư viện này xây dựng trên đỉnh của “urllib3″, nhưng nó cho phép bạn giải quyết đa số các trường
hợp sử dụng HTTP trong code cái là ngắn gọn, đẹp và dễ sử dụng. Cả “grequests” và “aiohttp” là thư mục hướng hiện
đại hơn và nhằm thực hiện HTTP với Python không đồng bộ hơn. Cái này trở nên đặc biệt quan trọng cho các ứng dụng
nhiệm vụ nặng nề nơi bạn phải làm nhiều yêu cầu HTTP nhanh như có thể. Chúng ta sẽ gắn với “requests” trong cái gì
đi theo, khi lập trình không đồng bộ là một chủ đề khá thách thức bản thân nó, và chúng ta sẽ thảo luận các cách thức
truyền thống hơn đẩy nhanh các chương trình web scraping của bạn trong một phong cách mạnh mẽ.
Nó không là quá khó di chuyển từ “requests” tới “grequests” hay “aiohttp” (hay các thư viện khác) bạn muốn làm như
vậy sau này.
Cài đặt requests có thể thực hiện dễ dàng qua pip. Thực thi cái sau trong của sổ command-line (đối số -U sẽ đảm bảo
cập nhật một phiên bản hiện tại của requests nên một cái ở đó):
pip install -U requests
Tiếp theo, tạo một Python file (“firstexample.py” là một tên tốt) và nhập cái sau:
import requests
url = ‘http://www.webscrapingfordatascience.com/basichttp/’
r = requests.get(url)
print(r.text)
Nếu tất cả đi tốt, bạn sẽ thấy dòng sau xuất hiện khi thực thi script này:
Hello from the web!