Hướng dẫn how do i save an image from python to my computer? - làm cách nào để lưu hình ảnh từ python vào máy tính của tôi?

Giới thiệu

Làm việc với hình ảnh trong Python cung cấp cho bạn một loạt các khả năng phát triển, từ việc tải xuống hình ảnh với URL đến truy xuất các thuộc tính ảnh. Nhưng, làm thế nào chính xác bạn có thể truy cập vào những hình ảnh này ngay từ đầu?

Trong bài viết này, bạn sẽ đi qua một số phương pháp khác nhau được sử dụng để tải xuống hình ảnh trong Python.

Điều kiện tiên quyết

Để được hưởng lợi hoàn toàn từ bài đăng này, bạn nên có những điều sau:

Một số kinh nghiệm với Python 2 hoặc Python 3.

Python 3 được cài đặt trên máy cục bộ của bạn. Có một tập lệnh tương thích với Python 2 trong phần Gói Urllib.

Sử dụng Python để tải xuống và lưu hình ảnh từ URL

Sử dụng gói yêu cầu

Là ứng dụng khách HTTP phổ biến nhất trong Python, gói yêu cầu là thanh lịch và dễ sử dụng cho người mới bắt đầu. Nhiều nhà phát triển coi đó là một phương pháp thuận tiện để tải xuống bất kỳ loại tệp nào trong Python.

Giả sử bạn đã cài đặt Python 3 vào môi trường địa phương của mình, tạo một thư mục

url = input('Please enter an image URL (string):') #prompt user for img url
7 và thêm vào
url = input('Please enter an image URL (string):') #prompt user for img url
8. Khi tệp đó được mở, cài đặt và nhập các gói sau:

import requests # request img from web
import shutil # save img locally

Khi bạn đã nhập các tệp đó, hãy tạo một biến

url = input('Please enter an image URL (string):') #prompt user for img url
9 được đặt thành câu lệnh
file_name = input('Save image as (string):') #prompt user for file name
0 yêu cầu URL hình ảnh.

url = input('Please enter an image URL (string):') #prompt user for img url

Ngoài ra, hãy tạo một biến khác cũng được đặt thành một câu lệnh đầu vào,

file_name = input('Save image as (string):') #prompt user for file name
1:

file_name = input('Save image as (string):') #prompt user for file name

Trong dòng mã tiếp theo, hãy thực hiện phương thức

file_name = input('Save image as (string):') #prompt user for file name
2 từ mô -đun yêu cầu để truy xuất hình ảnh. Phương thức sẽ có hai tham số, biến
url = input('Please enter an image URL (string):') #prompt user for img url
9 bạn đã tạo trước đó và
file_name = input('Save image as (string):') #prompt user for file name
4 bằng cách thêm đối số thứ hai này để đảm bảo không có sự gián đoạn nào xảy ra khi phương thức đang chạy.

res = requests.get(url, stream = True)

Phương thức

file_name = input('Save image as (string):') #prompt user for file name
5 để ghi hình ảnh của bạn làm tên tệp, xây dựng tệp cục bộ ở chế độ-viết nhị phân và lưu nó cục bộ với
file_name = input('Save image as (string):') #prompt user for file name
6. Mặc dù không cần thiết, nhưng thật tốt khi kiểm tra xem hình ảnh có được truy xuất thành công bằng cách sử dụng mã trạng thái yêu cầu trong một câu lệnh có điều kiện hay không.

if res.status_code == 200:
    with open(file_name,'wb') as f:
        shutil.copyfileobj(res.raw, f)
    print('Image sucessfully Downloaded: ',file_name)
else:
    print('Image Couldn\'t be retrieved')

Kịch bản hoàn thành của bạn sẽ trông giống như thế này:

import requests # request img from web
import shutil # save img locally

url = input('Please enter an image URL (string):') #prompt user for img url
file_name = input('Save image as (string):') #prompt user for file_name

res = requests.get(url, stream = True)

if res.status_code == 200:
    with open(file_name,'wb') as f:
        shutil.copyfileobj(res.raw, f)
    print('Image sucessfully Downloaded: ',file_name)
else:
    print('Image Couldn\'t be retrieved')

Thực hiện tập lệnh của bạn bằng cách chạy lệnh sau trong thiết bị đầu cuối của bạn:

python requests_python_img_dl.py

Hình ảnh đã tải xuống của bạn sẽ lưu vào thư mục

file_name = input('Save image as (string):') #prompt user for file name
7 mới được tạo. Xin chúc mừng, bây giờ bạn có thể yêu cầu tất cả các hình ảnh tải xuống mong muốn trái tim của bạn.

Tải xuống hình ảnh bằng urllib

Một phương pháp được ưa thích khác để tải xuống dữ liệu trong Python là thông qua

file_name = input('Save image as (string):') #prompt user for file name
8, một gói thu thập một số mô -đun để làm việc với các URL, bao gồm:

  • Urllib.Request để mở và đọc. for opening and reading.

  • Urllib.parse cho các URL phân tích cú pháp. for parsing URLs.

  • Urllib.Error cho bất kỳ trường hợp ngoại lệ nào được nâng lên bởi Urllib.Request. for any exceptions raised by urllib.request.

  • urllib.robotparser để phân tích các tệp robot.txt. for parsing robot.txt files.

Để tìm hiểu thêm về mô -đun

file_name = input('Save image as (string):') #prompt user for file name
8, hãy tham khảo lại tài liệu ở đây, nhưng bây giờ bạn đã biết những điều cơ bản của nó để bắt đầu!

Nếu

file_name = input('Save image as (string):') #prompt user for file name
8 không có trong môi trường hiện tại của bạn, hãy cài đặt nó bằng cách thực thi mã bên dưới:

Lưu ý rằng nếu bạn đang sử dụng Python 2, thật không may, mã này sẽ không hoạt động với môi trường của bạn, nhưng phần cuối của phần này bao gồm một tập lệnh tương thích Python 2.

Khi bạn đã cài đặt

file_name = input('Save image as (string):') #prompt user for file name
8, hãy tạo một thư mục mới cho dự án của bạn,
res = requests.get(url, stream = True)
2. Bước này không cần phải lặp lại nếu bạn đã tạo nó trong phần trước. Trong thư mục đó tạo một thư mục hình ảnh, cũng như tệp
res = requests.get(url, stream = True)
3. Điều hướng đến tệp
res = requests.get(url, stream = True)
3 của bạn và ở phía trên chèn dòng mã sau để nhập gói
file_name = input('Save image as (string):') #prompt user for file name
8:

Với mô-đun của bạn được nhập, nhiệm vụ của bạn là tạo một tập lệnh thân thiện với người dùng cho phép bạn tải xuống hình ảnh nhanh chóng và được tổ chức. Đầu tiên, hãy tạo biến

url = input('Please enter an image URL (string):') #prompt user for img url
9 từ hàm đầu vào:

url = input('Please enter image URL (string):')

Sau đó, quyết định những gì bạn muốn tệp hình ảnh của mình để lưu, bằng cách sử dụng một câu lệnh đầu vào khác:

file_name = input('Save image as (string):')

Với hai biến này chứa dữ liệu cần thiết để tải xuống và sắp xếp các tệp hình ảnh mới được tạo của bạn, hãy viết mã lưu (các) hình ảnh. Bắt đầu bằng cách xác định một hàm có ba tham số, biến

url = input('Please enter an image URL (string):') #prompt user for img url
9 của bạn,
res = requests.get(url, stream = True)
8 được chỉ định bạn muốn lưu hình ảnh vào và
file_name = input('Save image as (string):') #prompt user for file name
1 đã đặt trước đó.

def download_image(url, file_path, file_name):

Bên trong hàm tạo

if res.status_code == 200:
    with open(file_name,'wb') as f:
        shutil.copyfileobj(res.raw, f)
    print('Image sucessfully Downloaded: ',file_name)
else:
    print('Image Couldn\'t be retrieved')
0 đến nơi hình ảnh sẽ được lưu vào. Đường dẫn đầy đủ của hình ảnh sẽ là
res = requests.get(url, stream = True)
8 với
file_name = input('Save image as (string):') #prompt user for file name
1 được nối và chuỗi
if res.status_code == 200:
    with open(file_name,'wb') as f:
        shutil.copyfileobj(res.raw, f)
    print('Image sucessfully Downloaded: ',file_name)
else:
    print('Image Couldn\'t be retrieved')
3 được thêm vào cuối. *Tương tự nếu bạn muốn lưu hình ảnh của mình dưới dạng PNG, bạn sẽ sử dụng
if res.status_code == 200:
    with open(file_name,'wb') as f:
        shutil.copyfileobj(res.raw, f)
    print('Image sucessfully Downloaded: ',file_name)
else:
    print('Image Couldn\'t be retrieved')
4.

url = input('Please enter an image URL (string):') #prompt user for img url
0

Để tạo mã thực sự tải xuống hình ảnh, bạn sẽ cần tích hợp

if res.status_code == 200:
    with open(file_name,'wb') as f:
        shutil.copyfileobj(res.raw, f)
    print('Image sucessfully Downloaded: ',file_name)
else:
    print('Image Couldn\'t be retrieved')
5 và
if res.status_code == 200:
    with open(file_name,'wb') as f:
        shutil.copyfileobj(res.raw, f)
    print('Image sucessfully Downloaded: ',file_name)
else:
    print('Image Couldn\'t be retrieved')
6 sẽ tự động tải xuống và lưu hình ảnh dựa trên các đối số được đưa ra, chắc chắn bạn đã thực hiện chúng!

url = input('Please enter an image URL (string):') #prompt user for img url
1

Gọi chức năng đó ở cuối tập lệnh của bạn thích tương tự như thế này:

url = input('Please enter an image URL (string):') #prompt user for img url
2

Khi bạn gọi

if res.status_code == 200:
    with open(file_name,'wb') as f:
        shutil.copyfileobj(res.raw, f)
    print('Image sucessfully Downloaded: ',file_name)
else:
    print('Image Couldn\'t be retrieved')
7, bạn sẽ cần chuyển qua ba đối số một lần nữa, lần này sẽ là
url = input('Please enter an image URL (string):') #prompt user for img url
9 của bạn, đường dẫn tệp là thư mục
if res.status_code == 200:
    with open(file_name,'wb') as f:
        shutil.copyfileobj(res.raw, f)
    print('Image sucessfully Downloaded: ',file_name)
else:
    print('Image Couldn\'t be retrieved')
9 bạn đã tạo ở đầu và file_name bạn đã chọn.

Tin hay không, đó là nó! Miễn là bạn đang ở trong thư mục

import requests # request img from web
import shutil # save img locally

url = input('Please enter an image URL (string):') #prompt user for img url
file_name = input('Save image as (string):') #prompt user for file_name

res = requests.get(url, stream = True)

if res.status_code == 200:
    with open(file_name,'wb') as f:
        shutil.copyfileobj(res.raw, f)
    print('Image sucessfully Downloaded: ',file_name)
else:
    print('Image Couldn\'t be retrieved')
0 của bạn, hãy chạy tập lệnh của bạn trong thiết bị đầu cuối của bạn với mã bên dưới:

Bạn đã làm rất tốt! Bạn vừa tải xuống hình ảnh đầu tiên của mình bằng Python bằng gói

file_name = input('Save image as (string):') #prompt user for file name
8.

Nếu bạn chưa nâng cấp Python 3, bạn có thể thấy mình nhận được một số lỗi liên quan đến

if res.status_code == 200:
    with open(file_name,'wb') as f:
        shutil.copyfileobj(res.raw, f)
    print('Image sucessfully Downloaded: ',file_name)
else:
    print('Image Couldn\'t be retrieved')
5, mã sau sẽ tương thích với Python 2.

url = input('Please enter an image URL (string):') #prompt user for img url
3

*Không giống như Python 3, phiên bản 2 không hỗ trợ gói

if res.status_code == 200:
    with open(file_name,'wb') as f:
        shutil.copyfileobj(res.raw, f)
    print('Image sucessfully Downloaded: ',file_name)
else:
    print('Image Couldn\'t be retrieved')
5. Thay thế bạn có thể nhập

Urllib2 và sử dụng

import requests # request img from web
import shutil # save img locally

url = input('Please enter an image URL (string):') #prompt user for img url
file_name = input('Save image as (string):') #prompt user for file_name

res = requests.get(url, stream = True)

if res.status_code == 200:
    with open(file_name,'wb') as f:
        shutil.copyfileobj(res.raw, f)
    print('Image sucessfully Downloaded: ',file_name)
else:
    print('Image Couldn\'t be retrieved')
4 để đọc URL hình ảnh, sau đó tải xuống môi trường địa phương của bạn. Tuy nhiên, hình ảnh bây giờ sẽ được lưu trực tiếp vào thư mục
import requests # request img from web
import shutil # save img locally

url = input('Please enter an image URL (string):') #prompt user for img url
file_name = input('Save image as (string):') #prompt user for file_name

res = requests.get(url, stream = True)

if res.status_code == 200:
    with open(file_name,'wb') as f:
        shutil.copyfileobj(res.raw, f)
    print('Image sucessfully Downloaded: ',file_name)
else:
    print('Image Couldn\'t be retrieved')
0 thay vì thư mục
import requests # request img from web
import shutil # save img locally

url = input('Please enter an image URL (string):') #prompt user for img url
file_name = input('Save image as (string):') #prompt user for file_name

res = requests.get(url, stream = True)

if res.status_code == 200:
    with open(file_name,'wb') as f:
        shutil.copyfileobj(res.raw, f)
    print('Image sucessfully Downloaded: ',file_name)
else:
    print('Image Couldn\'t be retrieved')
6.*

Sử dụng mô -đun WGET

Ngoài các gói

import requests # request img from web
import shutil # save img locally

url = input('Please enter an image URL (string):') #prompt user for img url
file_name = input('Save image as (string):') #prompt user for file_name

res = requests.get(url, stream = True)

if res.status_code == 200:
    with open(file_name,'wb') as f:
        shutil.copyfileobj(res.raw, f)
    print('Image sucessfully Downloaded: ',file_name)
else:
    print('Image Couldn\'t be retrieved')
7 và
import requests # request img from web
import shutil # save img locally

url = input('Please enter an image URL (string):') #prompt user for img url
file_name = input('Save image as (string):') #prompt user for file_name

res = requests.get(url, stream = True)

if res.status_code == 200:
    with open(file_name,'wb') as f:
        shutil.copyfileobj(res.raw, f)
    print('Image sucessfully Downloaded: ',file_name)
else:
    print('Image Couldn\'t be retrieved')
8, cũng có thể tải xuống hình ảnh trong Python bằng cách sử dụng mô -đun WGET. Nếu bạn đã thực hiện
import requests # request img from web
import shutil # save img locally

url = input('Please enter an image URL (string):') #prompt user for img url
file_name = input('Save image as (string):') #prompt user for file_name

res = requests.get(url, stream = True)

if res.status_code == 200:
    with open(file_name,'wb') as f:
        shutil.copyfileobj(res.raw, f)
    print('Image sucessfully Downloaded: ',file_name)
else:
    print('Image Couldn\'t be retrieved')
9 của bạn điều hướng bên trong, nếu không tạo nó ngay bây giờ. Trong thư mục, hãy tạo tệp
python requests_python_img_dl.py
0 và nhập mô -đun
python requests_python_img_dl.py
1 như vậy:

Khi bạn đã cài đặt và nhập WGET, hãy đặt biến

url = input('Please enter an image URL (string):') #prompt user for img url
9 bằng với câu lệnh đầu vào gán một địa chỉ hình ảnh:

url = input('Please enter image URL (string):')

Sử dụng

python requests_python_img_dl.py
3 Pass trong biến
url = input('Please enter an image URL (string):') #prompt user for img url
9 làm đối số và đặt nó bằng biến
file_name = input('Save image as (string):') #prompt user for file name
1, bạn sẽ có thể truy cập nó sau đó.

url = input('Please enter an image URL (string):') #prompt user for img url
5

Tập lệnh đầy đủ nên gần với điều này:

url = input('Please enter an image URL (string):') #prompt user for img url
6

Đó là tất cả! Bạn có thể chạy tập lệnh của mình 🏃:

Chúng tôi cũng đã viết một bài viết về việc sử dụng Python với WGET, đó là một cách tuyệt vời khác để sử dụng WGET với Python.

Sự kết luận

Như mọi khi, mỗi phương pháp này mang những ưu và nhược điểm. Nếu bạn gặp sự cố khi cài đặt gói yêu cầu hoặc muốn ít phụ thuộc vào Urllib chương trình của bạn có thể là lựa chọn tốt nhất của bạn. Tuy nhiên, mô-đun yêu cầu đã trở thành một cách phổ biến và đáng tin cậy để tải xuống bất cứ thứ gì trong Python, với ngay cả tài liệu Urllib khuyến nghị nó là giao diện máy khách HTTP cấp cao.

Nếu bạn đang tìm kiếm nhiều cách hơn để tải xuống hình ảnh và loại tệp từ web với Python, tôi khuyến khích bạn kiểm tra bài đăng, các máy khách Python HTTP tốt nhất cho năm 2021.

Tôi hy vọng bạn tìm thấy bài viết này thú vị. Bạn cũng có thể truy cập mã nguồn ở đây. Hạnh phúc cào! 🐝

Tài nguyên phụ gia

  • Gói yêu cầu
  • Mô -đun Urllib
  • Mô -đun WGET
  • Máy khách Python HTTP tốt nhất cho năm 2021

Làm cách nào để xuất hình ảnh từ Python?

Sử dụng mô -đun PIL để lưu hình ảnh để tệp trong Python mô -đun PIL được sử dụng để lưu trữ, xử lý và hiển thị hình ảnh trong Python. Để lưu hình ảnh, chúng ta có thể sử dụng hàm Pil.Save (). Hàm này được sử dụng để xuất một hình ảnh sang một tệp bên ngoài.use the PIL. save() function. This function is used to export an image to an external file.

Làm cách nào để tải xuống và lưu một hình ảnh từ Python?

5 cách dễ dàng để tải xuống một hình ảnh từ một URL trong Python..
Xây dựng vấn đề và tổng quan về giải pháp ..
Preparation..
Phương pháp 1: Sử dụng yêu cầu.get () và viết ..
Phương pháp 2: Sử dụng yêu cầu.Get và Image ().
Phương pháp 3: Sử dụng các yêu cầu.Get và Shutil ..
Phương pháp 4: Sử dụng Urllib ..
Bonus:.
Summary..

Làm cách nào để lưu tệp Python dưới dạng PNG?

imwrite () lưu tệp hình ảnh vào đường dẫn được chỉ định.Tham số đầu tiên là đường dẫn bạn muốn lưu tệp và tham số thứ hai là hình ảnh được lưu.. The first parameter is the path where you want to save the file, and the second parameter is the image to be saved.

Làm cách nào để tải xuống hình ảnh từ Google Python?

Cách tải xuống Google Images, sử dụng Python ...
Bước 1: Selen.Để bắt đầu cách tôi có thể thực hiện tải xuống những hình ảnh này là sử dụng một thư viện có tên Selenium.....
Bước 2: Tương tác với trang chủ Google.....
Bước 3: Cuộn xuống trang web.....
Bước 4: Tải xuống hình ảnh ..