Xây dựng Trình tải hình ảnh ngẫu nhiên bằng Python
Nếu bạn đang phát triển hoặc thiết kế một trang web, có lẽ bạn cần phải có một số hình ảnh lưu trữ. Chúng có thể hữu ích cho việc tạo mẫu hoặc thậm chí để sử dụng trong ứng dụng sản xuất của bạn.
Bạn có thể dễ dàng xây dựng trình tìm nạp hình ảnh ngẫu nhiên bằng ngôn ngữ Python luôn thân thiện. Bạn có thể sử dụng nó để hiển thị hình ảnh ngẫu nhiên trong tiện ích, kiểm tra chuyển đổi độ phân giải hoặc hiển thị công cụ đề xuất sản phẩm.
Theo dõi dự án này để có kinh nghiệm thực hành với mô-đun Yêu cầu và Gối. Chúng sẽ tỏ ra hữu ích cho công việc web trong tương lai, bao gồm cả xử lý hình ảnh.
Mục Lục
Mô-đun Yêu cầu và Gối
Mô-đun Yêu cầu giúp việc thực hiện các yêu cầu HTTP trở nên đơn giản và trả về một đối tượng phản hồi có chứa dữ liệu như mã hóa và trạng thái. Với điều này, bạn có thể phát triển nhiều ứng dụng thú vị như trình kiểm tra trạng thái trang web, trình quét web, bot theo dõi thị trường chứng khoán và trình kiểm tra hiệu suất trang web. Để cài đặt mô-đun Yêu cầu, hãy mở thiết bị đầu cuối và gõ:
pip install requests
Thư viện Gối—một nhánh của Thư viện Hình ảnh Python (PIL)—cung cấp khả năng xử lý hình ảnh giúp chỉnh sửa, tạo, chuyển đổi định dạng tệp và lưu hình ảnh. Nó cung cấp khả năng tương thích định dạng tệp rộng và một đại diện nội bộ hữu ích. Để cài đặt mô-đun Gối, hãy mở terminal và gõ:
pip install Pillow
Cách xây dựng Trình tải hình ảnh ngẫu nhiên bằng Python
Bạn có thể tìm thấy mã nguồn của Trình tải ảnh ngẫu nhiên bằng Python trong Kho lưu trữ GitHub này.
Nhập các mô-đun và xác định một chức năng có tên img_requests() lấy txt làm tham số đầu vào. Gửi phương thức GET tới URL API của Unsplash và sử dụng định dạng phương pháp để điền vào trình giữ chỗ, {0}, với giá trị là txt. Lưu nội dung phản hồi ở định dạng JPG và mở hình ảnh để người dùng có thể xem. Cuối cùng, đóng tệp đã mở.
import requests
from PIL import Imagedef img_requests(txt):
response = requests.get("https://source.unsplash.com/random{0}".format(txt))
file = open('image.jpg', 'wb')
file.write(response.content)
img = Image.open(r"image.jpg")
img.show()
file.close()
Hiển thị các tùy chọn khác nhau mà chương trình cung cấp cho người dùng. Bốn tùy chọn đầu tiên sẽ tìm nạp hình ảnh ở độ phân giải HD, Full HD, 2K hoặc 4K tùy thuộc vào lựa chọn. Nếu người dùng chọn tùy chọn thứ năm, anh ta phải cung cấp một từ khóa. Dựa vào đó, chương trình sẽ chọn một hình ảnh phù hợp và lưu vào hệ thống.
print("""Please provide an option for Image
1. HD Random Picture
2. FHD Random Picture
3. 2K Random Picture
4. 4k Random Picture
5. Picture with User Provided Keyword """)
Lấy lựa chọn của người dùng, hiển thị thông báo thích hợp và gọi hàm img_requests, chuyển văn bản thích hợp cho truy vấn của họ.
ans = input()if 'one' in ans or '1' in ans:
print("Please wait while we fetch an HD image.")
img_requests('/1280x720')
elif 'two' in ans or '2' in ans:
print("Please wait while we fetch a Full HD image.")
img_requests('/1920x1080')
elif 'three' in ans or '3' in ans:
print("Please wait while we fetch a 2k image.")
img_requests('/2048x1080')
elif 'four' in ans or '4' in ans:
print("Please wait while we fetch a 4k image.")
img_requests('/4096x2160')
Tùy chọn thứ năm phức tạp hơn một chút. Nếu người dùng chọn nó, hãy yêu cầu họ nhập từ khóa của họ. Thêm dấu chấm hỏi trước từ khóa và gọi hàm lấy ngẫu nhiên một ảnh theo input.
elif 'five' in ans or '5' in ans:
print("Please enter a keyword you want to get a random image of.")
st = input()
st = "?" + st
print("Please wait while we fetch the images from our database.")
img_requests(st)
Nếu người dùng nhập bất cứ điều gì khác, hãy yêu cầu họ cung cấp thông tin nhập hợp lệ:
else:
print("Please provide a valid input.")
Đặt tất cả các mã lại với nhau và tận hưởng việc tìm nạp các bức ảnh ngẫu nhiên ở độ phân giải cao.
Đầu ra của Trình tải hình ảnh ngẫu nhiên
Khi chạy chương trình trên, chương trình sẽ hiển thị năm tùy chọn. Khi chọn bất kỳ tùy chọn nào, chương trình đã lưu một hình ảnh và hiển thị nó trên màn hình.
Nếu bạn chọn tùy chọn 5 và nhập từ khóa Spider-Man, chương trình sẽ lấy hình ảnh Spider-Man sau từ Unsplash.
Quét web bằng Python
Nhiều trang web cung cấp các API hữu ích, chẳng hạn như trình tìm nạp hình ảnh ngẫu nhiên của Unsplash. Nhưng đối với những người không làm như vậy, bạn luôn có thể sử dụng tính năng quét web và mô-đun Yêu cầu có thể trợ giúp.
Các mô-đun hữu ích khác bao gồm Beautiful Soup, Selenium, Scrapy, Urllib và Mechanize. Bạn có thể sử dụng tính năng quét web để trích xuất thông tin từ bất kỳ trang web nào, lưu trữ và phân tích thông tin đó theo yêu cầu của bạn.
Một số ứng dụng bạn có thể phát triển bằng cách sử dụng kỹ thuật này bao gồm trình thu thập tin tức, trình theo dõi giá và trình tải xuống hình ảnh. Quét web cũng được sử dụng rộng rãi trong Xử lý ngôn ngữ tự nhiên để đào tạo các mô hình và thực hiện phân tích tình cảm.