❮ Mô-đun Yêu cầu
Ví dụ
Gửi yêu cầu tới một trang web và trả lại mã trạng thái
yêu cầu nhập khẩu
x = yêu cầu. nhận ['https. //w3schools. com']
print[x. status_code]
Định nghĩa và cách sử dụng
Phương thức
pip install requests2 gửi yêu cầu GET đến url đã chỉ định
cú pháp
yêu cầu. get[url, params={key. giá trị}, đối số]
args có nghĩa là không hoặc nhiều đối số được đặt tên trong bảng tham số bên dưới. Ví dụ
yêu cầu. nhận [url, thời gian chờ = 2. 50]
Giá trị tham số
ParameterDescriptionurlDùng thửBắt buộc. Url của requestparamsDùng thửTùy chọn. Một từ điển, danh sách các bộ dữ liệu hoặc byte để gửi dưới dạng chuỗi truy vấn.Mặc định
pip install requests3allow_redirectsDùng thửTùy chọn. Boolean để bật/tắt chuyển hướng.
Mặc định
pip install requests4 [cho phép chuyển hướng]authDùng thửTùy chọn. Một bộ để kích hoạt xác thực HTTP nhất định.
Mặc định
pip install requests3chứng chỉDùng thửTùy chọn. Một Chuỗi hoặc Tuple chỉ định tệp hoặc khóa chứng chỉ.
Mặc định
pip install requests3cookieDùng thửTùy chọn. Từ điển cookie để gửi đến url đã chỉ định.
Tiêu đề
pip install requests3 mặc định Dùng thửTùy chọn. Một từ điển các tiêu đề HTTP để gửi đến url đã chỉ định.
Proxy
pip install requests3 mặc địnhDùng thửTùy chọn. Một từ điển của giao thức cho url proxy.
Mặc định
pip install requests3luồngDùng thửTùy chọn. Một dấu hiệu Boolean nếu phản hồi nên được tải xuống ngay lập tức [Sai] hoặc phát trực tuyến [Đúng].
Mặc định
from requests import get # to make GET request def download[url, file_name]: # open in binary mode with open[file_name, "wb"] as file: # get request response = get[url] # write to file file.write[response.content]0thời gian chờDùng thửTùy chọn. Một số hoặc một bộ, cho biết cần đợi bao nhiêu giây để máy khách tạo kết nối và/hoặc gửi phản hồi.
Mặc định
pip install requests3 có nghĩa là yêu cầu sẽ tiếp tục cho đến khi kết nối bị đóngxác minhDùng thử
Dùng thửTùy chọn. Chỉ báo Boolean hoặc Chuỗi để xác minh chứng chỉ TLS của máy chủ hay không.
Mặc định
pip install requests4
Giá trị trả về
Phương thức get[] trả về một yêu cầu. đối tượng phản hồi
❮ Mô-đun Yêu cầu
Bạn có thể tải xuống tệp [Tệp ảnh, Tệp văn bản, …] từ 1 đường dẫn trên trang web sử dụng thư viện urllib của Python 3
Nội dung chính Hiển thị
- 1. Nhập mô-đun
- 2. Nhận liên kết hoặc url
- 3. Lưu nội dung với tên
- Nhận tên tệp từ một URL
Đoạn mã nguồn Python 3 như sau
import urllib import os output_dir = '/tmp' image_url = '//vinasupport.com/assets/img/vinasupport_logo.png' # Make output directory if not exist if not os.path.exists[output_dir]: os.makedirs[output_dir] # save path image_save_path = output_dir + '/' + os.path.basename[image_url] # Download file from url urllib.request.urlretrieve[image, image_save_path] print[image_save_path]
Trong ví dụ trên, mình thực hiện tải xuống tệp ảnh có đường dẫn là. https. //vinasupport. com/assets/img/vinasupport_logo. png
And save it down the path on server /tmp/vinasupport_logo. png
Một cách khác là sử dụng yêu cầu thư viện
Lần đầu tiên cài đặt các yêu cầu thông qua trình quản lý mô-đun / gói của Python 3
pip install requests
Sử dụng các yêu cầu để tải xuống tệp
from requests import get # to make GET request def download[url, file_name]: # open in binary mode with open[file_name, "wb"] as file: # get request response = get[url] # write to file file.write[response.content]
Nguồn. vinasupport. com
Python cung cấp các mô-đun khác nhau như urllib, yêu cầu, v.v. để tải xuống các tệp từ web. Tôi sẽ sử dụng thư viện yêu cầu của python để tải xuống các tệp từ URL một cách hiệu quả
Hãy bắt đầu xem quy trình từng bước để tải xuống tệp bằng URL bằng thư viện yêu cầu−
1. Nhập mô-đun
import requests
2. Nhận liên kết hoặc url
url = '//www.facebook.com/favicon.ico' r = requests.get[url, allow_redirects=True]
3. Lưu nội dung với tên
open['facebook.ico', 'wb'].write[r.content]
lưu tệp dưới dạng facebook. ico
Ví dụ
import requests url = '//www.facebook.com/favicon.ico' r = requests.get[url, allow_redirects=True] open['facebook.ico', 'wb'].write[r.content]
Kết quả
Chúng tôi có thể thấy tệp được tải xuống [biểu tượng] trong thư mục làm việc hiện tại của chúng tôi
Nhưng chúng tôi có thể cần tải xuống các loại tệp khác nhau như hình ảnh, văn bản, video, v.v. từ web. Vì vậy, trước tiên hãy lấy loại dữ liệu mà url đang liên kết đến−
>>> r = requests.get[url, allow_redirects=True] >>> print[r.headers.get['content-type']] image/png
Tuy nhiên, có một cách thông minh hơn, đó là chỉ cần tìm nạp các tiêu đề của url trước khi thực sự tải xuống. Điều này cho phép chúng tôi bỏ qua việc tải xuống các tệp không được tải xuống
________số 8Để hạn chế tải xuống theo kích thước tệp, chúng tôi có thể lấy tệp tin từ tiêu đề độ dài nội dung và sau đó thực hiện theo yêu cầu của chúng tôi
contentLength = header.get['content-length', None] if contentLength and contentLength > 2e8: # 200 mb approx return False
Nhận tên tệp từ một URL
Để lấy tên tệp, chúng ta có thể phân tích cú pháp url. Dưới đây là một quy trình mẫu tìm nạp chuỗi cuối cùng sau dấu gạch chéo ngược [/]
pip install requests0
Ở trên sẽ cung cấp tên tệp của url. Tuy nhiên, có nhiều trường hợp thông tin tên tệp không có trong url chẳng hạn – http. // url. com/tải xuống. Trong trường hợp như vậy, chúng ta cần lấy tiêu đề Bố trí nội dung, chứa thông tin tên tệp
pip install requests1
Đoạn mã phân tích cú pháp url ở trên kết hợp với chương trình trên sẽ cung cấp cho bạn tên tệp từ tiêu đề Bố trí nội dung hầu hết thời gian