Jeśli tworzysz lub projektujesz stronę internetową, prawdopodobnie musisz zdobyć kilka obrazów stockowych. Mogą być pomocne w tworzeniu prototypów, a nawet w aplikacji produkcyjnej.
Możesz łatwo zbudować losowy program do pobierania obrazów, używając zawsze przyjaznego języka Python. Możesz go używać do prezentowania losowych elementów wizualnych w widżecie, testowania przełączania rozdzielczości lub pokazywania mechanizmu rekomendacji produktów.
Śledź ten projekt, aby zdobyć praktyczne doświadczenie z modułem Requests and Pillow. Przydadzą się do przyszłej pracy w sieci, w tym do przetwarzania obrazu.
Moduły wniosków i poduszek
Moduł Requests ułatwia tworzenie żądań HTTP i zwraca obiekt odpowiedzi zawierający dane, takie jak kodowanie i status. Dzięki temu możesz opracować wiele interesujących aplikacji, takich jak sprawdzanie statusu strony internetowej
, web scraper, bot monitorujący giełdę i tester wydajności strony internetowej. Aby zainstalować moduł Requests, otwórz terminal i wpisz:żądania instalacji pip
Biblioteka Pillow — rozwidlenie biblioteki Python Imaging Library (PIL) — zapewnia możliwości przetwarzania obrazu, które pomagają w edytowaniu, tworzeniu, konwertowanie formatów plikówi zapisywanie obrazów. Oferuje szeroką kompatybilność formatów plików i użyteczną reprezentację wewnętrzną. Aby zainstalować moduł Pillow, otwórz terminal i wpisz:
pip zainstaluj poduszkę
Jak zbudować moduł pobierania losowych obrazów za pomocą Pythona
Możesz znaleźć kod źródłowy Random Image Fetcher używający Pythona w tym Repozytorium GitHub.
Zaimportuj moduły i zdefiniuj funkcję o nazwie img_requests() który przyjmuje txt jako parametr wejściowy. Wyślij metodę GET na adres URL interfejsu API Unsplash i użyj metody format sposób wypełnienia symbolu zastępczego, {0}, o wartości txt. Zapisz odpowiedź treści w formacie JPG i otwórz obraz, aby użytkownik mógł go zobaczyć. Na koniec zamknij otwarty plik.
import upraszanie
z PIL import Obraz
pokimg_requests(tekst):
odpowiedź = żądania.pobierz(" https://source.unsplash.com/random{0}"format (txt))
plik = otwórz(„obraz.jpg”, 'wb')
plik.write (odpowiedź.treść)
img = obraz. otwórz (r"obraz.jpg")
img.pokaż()
plik.zamknij()
Wyświetl różne opcje, które program udostępnia użytkownikowi. Pierwsze cztery opcje pobiorą obraz w rozdzielczości HD, Full HD, 2K lub 4K, w zależności od wyboru. Jeśli użytkownik wybierze piątą opcję, musi podać słowo kluczowe. Na tej podstawie program wybierze odpowiedni obraz i zapisze go w systemie.
wydrukować(Podaj opcję dla obrazu
1. Losowe zdjęcie HD
2. Losowe zdjęcie FHD
3.2Losowe zdjęcie
4.4k Losowe zdjęcie
5. Zdjęcie z Słowo kluczowe podane przez użytkownika )
Uzyskaj wybór użytkownika, wyświetl odpowiedni komunikat i wywołaj funkcję img_requests, przekazując odpowiedni tekst zapytania.
odp = wejście()
Jeśli'jeden'W odp Lub'1'W odp:
wydrukować(„Proszę czekać, pobieramy obraz HD”.)
img_requests('/1280x720')
Elif'dwa'W odp Lub'2'W odp:
wydrukować(„Proszę czekać, pobieramy obraz Full HD”.)
img_requests('/1920x1080')
Elif'trzy'W odp Lub'3'W odp:
wydrukować(„Proszę czekać, pobieramy obraz 2k”.)
img_requests('/2048x1080')
Elif„cztery”W odp Lub'4'W odp:
wydrukować(„Proszę czekać, pobieramy obraz 4K”.)
img_requests('/4096x2160')
Piąta opcja jest nieco bardziej skomplikowana. Jeśli użytkownik to wybierze, poproś go o wpisanie słów kluczowych. Dodaj znak zapytania przed słowem kluczowym i wywołaj funkcję, aby pobrać losowy obraz zgodnie z danymi wejściowymi.
Elif'pięć'W odp Lub'5'W odp:
wydrukować(„Wprowadź słowo kluczowe, którego obraz chcesz otrzymać losowo”.)
st = wejście()
st = "?" + ul
wydrukować(„Proszę czekać, pobieramy obrazy z naszej bazy danych”.)
img_requests (st)
Jeśli użytkownik wprowadzi coś innego, poproś go o podanie prawidłowych danych:
w przeciwnym razie:
wydrukować(„Proszę wprowadzić prawidłowe dane”.)
Połącz cały kod i ciesz się pobieraniem losowych zdjęć w wysokiej rozdzielczości.
Dane wyjściowe modułu pobierania losowych obrazów
Po uruchomieniu powyższego programu program wyświetla pięć opcji. Po wybraniu którejkolwiek z opcji program zapisuje obraz i wyświetla go na ekranie.
Jeśli wybierzesz opcję 5 i wpiszesz słowo kluczowe Spider-Man, program pobierze następujący obraz Spider-Mana z Unsplash.
Skrobanie sieci za pomocą Pythona
Wiele witryn zapewnia przydatne interfejsy API, takie jak moduł pobierania losowych obrazów Unsplash. Ale dla tych, którzy tego nie robią, zawsze możesz skorzystać ze skrobania sieci, a moduł Requests może pomóc.
Inne przydatne moduły to Beautiful Soup, Selenium, Scrapy, Urllib i Mechanize. Możesz użyć web scrapingu, aby wyodrębnić informacje z dowolnej strony internetowej, przechowywać je i analizować zgodnie z własnymi wymaganiami.
Niektóre z aplikacji, które można opracować przy użyciu tej techniki, obejmują skrobaczkę wiadomości, narzędzie do śledzenia cen i narzędzie do pobierania obrazów. Web Scraping jest również szeroko stosowany w przetwarzaniu języka naturalnego do trenowania modeli i przeprowadzania analizy tonacji.