Na przykład, jeśli chcesz regularne aktualizacje swoich ulubionych produktów do ofert rabatowych lub chcesz zautomatyzować proces pobierania odcinków ulubionego sezonu po drugim, a strona internetowa nie ma dla niego żadnego interfejsu API, to jedyny wybór Zostajesz z skrobaniem internetowym.Skrobanie internetowe może być nielegalne na niektórych stronach internetowych, w zależności od tego, czy strona internetowa na to pozwala, czy nie. Strony internetowe używają „Robotów.plik txt ”w celu wyraźnego zdefiniowania adresów URL, które nie mogą być złomowane. Możesz sprawdzić, czy witryna to pozwala, czy nie, dołączając „Roboty.TXT ”z nazwą domeny strony internetowej. Na przykład https: // www.Google.com/roboty.tekst
W tym artykule użyjemy Pythona do skrobania, ponieważ jest bardzo łatwa w konfiguracji i użyciu. Ma wiele wbudowanych i zewnętrznych bibliotek, które mogą być używane do skrapania się i organizowania danych. Użyjemy dwóch bibliotek Python „urllib” do pobrania strony internetowej i „pięknej grupy”, aby parsować stronę internetową, aby zastosować operacje programowe.
Jak działa skrobanie internetowe?
Wysyłamy prośbę na stronę internetową, skąd chcesz zeskrobać dane. Witryna odpowie na żądanie z zawartością HTML strony. Następnie możemy przeanalizować tę stronę do BeautifulSoup w celu dalszego przetwarzania. Aby pobrać stronę internetową, użyjemy biblioteki „urllib” w Python.
Urllib pobranie zawartości strony internetowej w HTML. Nie możemy zastosować operacji ciągów do tej strony internetowej HTML w celu ekstrakcji treści i dalszego przetwarzania. Użyjemy biblioteki Python „BeautifulSoup”, która przeanalizuje treść i wyodrębni interesujące dane.
Scrapowanie artykułów z Linuxhint.com
Teraz, gdy mamy pojęcie o tym, jak działa skrobanie internetowe, wykonajmy praktykę. Postaramy się zeskrobać tytuły i linki z Linuxhint.com. Więc otwórz https: // linuxhint.com/ w przeglądarce.
Teraz naciśnij CRTL+U, aby wyświetlić kod źródłowy HTML strony strony internetowej.
Skopiuj kod źródłowy i przejdź do https: // htmlformatter.com/ do upiększania kodu. Po upiększeniu kodu łatwo jest sprawdzić kod i znaleźć interesujące informacje.
Teraz ponownie skopiuj sformatowany kod i wklej go w swoim ulubionym edytorze tekstu, takim jak Atom, wysublimowany tekst itp. Teraz zeskrobem ciekawe informacje za pomocą Pythona. Wpisz następujące
// Zainstaluj piękną bibliotekę zup, urllib przychodziWpisz „Pomoc”, „Copyright”, „Kredyty” lub „Licencja”, aby uzyskać więcej informacji.
// Importuj urllibTeraz spójrzmy na kod źródłowy HTML, który właśnie skopiowaliśmy i wkleiliśmy, aby znaleźć rzeczy naszego zainteresowania.
Możesz zobaczyć, że pierwszy artykuł wymieniony na Linuxhint.Com nazywa się „74 przykładami operatorów bash”, znajdź to w kodzie źródłowym. Jest zamknięty między znacznikami nagłówka, a jego kod jest
title = "74 Operatory bash
Przykłady
Ten sam kod powtarza się w kółko wraz ze zmianą samych tytułów i linków. Następny artykuł zawiera następujący kod HTML
Możesz zobaczyć, że wszystkie artykuły, w tym te dwa, są zamknięte w tym samym „”
„Oznacz i użyj tej samej klasy„ wejście ”. Możemy użyć funkcji „Findall” w pięknej bibliotece zup, aby znaleźć i wymienić wszystko ”
„Posiadanie klasy„ wejście ”. Wpisz następujące w swojej konsoli Python
// To polecenie znajdzie wszystko „”Elementy tagowe posiadające nazwę klasy
„Wejście”. Wyjście będzie przechowywane w tablicy.
>>> Artykuły = page_soup.FINDALL („H2” ,
„class”: „wejście”)
// Liczba artykułów znalezionych na pierwszej stronie Linuxhint.com
>>> Len (artykuły)
102
// po raz pierwszy wyodrębniono „
„Element tagu zawierający nazwę artykułu i link
>>> Artykuły [0]
title = "74 Operatory bashów przykłady">
74 Przykłady operatorów bashów
„Element tagu zawierający nazwę artykułu i link
>>> Artykuły [1]
Teraz, gdy mamy listę wszystkich 102 HTML ”
”Elementy tagu zawierające link artykułu i tytuł artykułu. Możemy wyodrębnić oba artykuły i tytuły. Aby wyodrębnić linki z tagów „”, możemy użyć następującego kodu
// Poniższy kod wyodrębni link od pierwszego element tag
>>> dla linku w artykułach [0].Find_All („a”, href = true):
… Drukuj (link ['href'])
…
https: // linuxhint.com/bash_operator_examples/
Teraz możemy napisać pętlę, która iteruje każdą „
„Element tagu na liście„ artykułów ”i wyodrębnij link i tytuł artykułu.
>>> Dla I w zakresie (0,10):Podobnie zapisujesz te wyniki na pliku JSON lub CSV.
Wniosek
Twoje codzienne zadania nie są nie tylko zarządzania plikami lub wykonywaniem poleceń systemowych. Możesz także zautomatyzować zadania związane z siecią, takie jak automatyzacja pobierania plików lub ekstrakcja danych, zeskrobując sieć w Python. Ten artykuł był ograniczony tylko do prostej ekstrakcji danych, ale możesz wykonać ogromną automatyzację zadań za pomocą „urllib” i „pięknej grupy”.