chcesz pomóc? Oto dostępne opcje:","Crunchbase","O nas","Dziękujemy wszystkim za niesamowite wsparcie!","Szybkie łącza","Program partnerski","ProxyScrape wersja próbna premium","Online Proxy Checker","Typy proxy","Kraje zastępcze","Przypadki użycia proxy","Ważne","Polityka plików cookie","Zastrzeżenie","Polityka prywatności","Zasady i warunki","Media społecznościowe","Facebook","LinkedIn","Twitter","Quora","Telegram","Discord"," © Copyright 2024 - Thib BV | Brugstraat 18 | 2812 Mechelen | Belgia | VAT BE 0749 716 760"]}
Web scraping can be defined as the method of collecting and restructuring data from websites. It can also be defined as the programmatic approach of obtaining website data in an automated manner. For instance, you want to extract the email IDs of all people who commented on a Facebook post. You can do this by
Web scraping można zdefiniować jako metodę gromadzenia i restrukturyzacji danych ze stron internetowych. Można go również zdefiniować jako programowe podejście do uzyskiwania danych ze stron internetowych w sposób zautomatyzowany. Na przykład, chcesz wyodrębnić identyfikatory e-mail wszystkich osób, które skomentowały post na Facebooku. Można to zrobić na dwa sposoby. Po pierwsze, możesz skierować kursor na ciąg adresu e-mail dowolnej osoby. Następnie można go skopiować i wkleić do pliku. Ta metoda jest znana jako ręczne skrobanie. Ale co, jeśli chcesz zebrać 2000 identyfikatorów e-mail? Za pomocą narzędzia do skrobania stron internetowych można wyodrębnić wszystkie identyfikatory e-mail w ciągu 30 sekund zamiast 3 godzin w przypadku ręcznego skrobania.
Do pozyskiwania informacji ze stron internetowych można użyć narzędzi do web scrapingu. Wystarczy tylko wiedzieć, jak klikać, a wiedza programistyczna nie jest wymagana. Narzędzia te oszczędzają zasoby, czas i koszty. Możesz zeskrobać miliony stron w zależności od potrzeb, nie martwiąc się o przepustowość sieci. Niektóre strony internetowe wdrażają anty-boty, które zniechęcają scraperów do zbierania danych. Jednak dobre narzędzia do skrobania stron internetowych mają wbudowane funkcje pozwalające ominąć te narzędzia i zapewnić płynne skrobanie.
Python posiada doskonałe narzędzia do pobierania danych z sieci. Przykładowo, można zaimportować bibliotekę requests w celu pobrania treści ze strony internetowej i bs4(BeautifulSoup) w celu wyodrębnienia odpowiednich informacji. Możesz wykonać poniższe kroki, aby skrobać strony internetowe w Pythonie. Będziemy wyodrębniać informacje z tej strony internetowej.
Musisz zaimportować bibliotekę żądań, aby pobrać HTML strony internetowej.
żądania importu
Musisz wykonać żądanie GET do strony internetowej. Można to zrobić, wklejając adres URL do funkcji requests.get().
r = requests.get('http://www.cleveland.com/metro/index.ssf/2017/12/case_western_reserve_university_president_barbara_snyders_base_salary_and_bonus_pay_tops_among_private_colleges_in_ohio.html')
Wyodrębnij zawartość strony internetowej za pomocą r.content. Daje to zawartość strony internetowej w bajtach.
c = r.content
Należy zaimportować bibliotekę BeautifulSoup, ponieważ ułatwia ona pobieranie informacji ze stron internetowych.
z bs4 import BeautifulSoup
Musisz utworzyć obiekt BeautifulSoup z treści i przeanalizować go za pomocą kilku metod.
soup = BeautifulSoup(c)
print(soup.get_text())
Dane wyjściowe (to tylko część) będą wyglądać mniej więcej tak.
Musimy znaleźć odpowiednie selektory CSS, aby wyodrębnić pożądane dane. Możemy znaleźć główną treść na stronie internetowej za pomocą metody .find() obiektu soup.
main_content = soup.find('div', attrs = {'class': 'entry-content'})
Możemy pobrać informacje jako tekst z tabeli za pomocą atrybutu.text zupy.
content = main_content.find('ul').text
print(content)
Pobraliśmy tekst tabeli jako ciąg znaków. Ale informacje te będą bardzo przydatne, jeśli wyodrębnimy określone części ciągu tekstowego. Aby wykonać to zadanie, musimy przejść do wyrażeń regularnych.
Wyrażenia regularne(RegEx) to sekwencja wzorców, które definiują wzorzec wyszukiwania. Podstawową ideą jest to, że:
Załóżmy, że chcemy wyodrębnić następujące informacje z tabeli tekstowej.
Możesz wyodrębnić te trzy informacje, wykonując czynności wymienione poniżej.
Zaimportuj re i aby wyodrębnić pensje, musisz utworzyć wzorzec pensji. Użyj metody re.compile (), aby skompilować wzorzec wyrażenia regularnego dostarczony jako ciąg znaków do obiektu wzorca RegEx. Ponadto można użyć pattern.findall (), aby znaleźć wszystkie dopasowania i zwrócić je jako listę ciągów. Każdy ciąg będzie reprezentował jedno dopasowanie.
import re
salary_pattern = re.compile(r'\$.+')
salaries = salary_pattern.findall(content)
Powtórz tę samą procedurę, aby wyodrębnić nazwy uczelni. Utwórz wzór i wyodrębnij nazwy.
school_pattern = re.compile(r'(?:,|,\s)([A-Z]{1}.*?)(?:\s\(|:|,)')
schools = school_pattern.findall(content)
print(schools)
print(salaries)
Powtórz tę samą procedurę, aby wyodrębnić nazwiska prezydentów. Utwórz wzór i wyodrębnij wymagane nazwiska.
name_pattern = re.compile(r'^([A-Z]{1}.+?)(?:,)', flags = re.M)
names = name_pattern.findall(content)
print(names)
Wynagrodzenia wyglądają niechlujnie i nie są zrozumiałe. Używamy więc rozumienia listy Pythona do konwersji wynagrodzeń łańcuchowych na liczby. Aby osiągnąć pożądane rezultaty, użyjemy cięcia łańcuchów, dzielenia i łączenia oraz rozumienia listy.
salaries = ['$876,001', '$543,903', '$2453,896']
[int(''.join(s[1:].split(',')) for s in salaries]
Wynik jest następujący:
Wizualizacja danych pomaga zrozumieć dane wizualnie, dzięki czemu można ujawnić trendy, wzorce i korelacje. Możesz przełożyć dużą ilość danych na wykresy, diagramy i inne wizualizacje, aby zidentyfikować wartości odstające i uzyskać cenne informacje.
Możemy użyć matplotlib do wizualizacji danych, jak pokazano poniżej.
Zaimportuj niezbędne biblioteki, jak pokazano poniżej.
import pandas as pd
import matplotlib.pyplot as plt
Utwórz ramkę danych pandas zawierającą szkoły, nazwiska i pensje. Na przykład można przekonwertować szkoły na ramkę danych jako:
df_school = pd.DataFrame(schools)
print(df_school)
Wynik to:
Podobnie można postąpić w przypadku wynagrodzeń i nazwisk.
W celu wizualizacji danych możemy wykreślić wykres słupkowy, jak pokazano poniżej.
df.plot(kind='barh', x = 'President', y = 'salary')
Wynik jest następujący:
Skrobanie stron internetowych pomaga firmom wydobywać przydatne informacje na temat spostrzeżeń rynkowych i branż, aby oferować usługi oparte na danych i podejmować decyzje oparte na danych. Serwery proxy są niezbędne do skutecznego skrobania danych z różnych stron internetowych z następujących powodów.
Czy wiesz, ilu pełnomocników potrzebujesz, aby uzyskać powyższe korzyści? Możesz obliczyć wymaganą liczbę pełnomocników za pomocą tego wzoru:
Liczba serwerów proxy = Liczba żądań dostępu / Współczynnik indeksowania
Liczba żądań dostępu zależy od następujących parametrów.
Z drugiej strony, szybkość indeksowania jest ograniczona liczbą żądań wykonanych przez użytkownika w określonym czasie. Niektóre witryny zezwalają na ograniczoną liczbę żądań na użytkownika w celu rozróżnienia żądań automatycznych i ludzkich.
Możesz używać serwerów proxy w Pythonie, wykonując poniższe kroki.
żądania importu
proxy = 'http://114.121.248.251:8080'
url = 'https://ipecho.net/plain'
page = requests.get(url,
proxies={"http": proxy, "https": proxy})
wydruk(page.text)
Wynik jest następujący:
Rozmawialiśmy o tym, że możemy użyć web scrapingu do wyodrębniania danych ze stron internetowych zamiast ręcznego scrapingu. Web scraping jest opłacalnym i oszczędzającym czas procesem. Firmy wykorzystują go do gromadzenia i restrukturyzacji informacji internetowych w celu podejmowania decyzji opartych na danych i uzyskiwania cennych informacji. Korzystanie z serwerów proxy jest niezbędne do bezpiecznego skrobania stron internetowych, ponieważ ukrywa oryginalny adres IP użytkownika przed docelową stroną internetową. Do skrobania stron internetowych można używać serwerów proxy dla centrów danych lub serwerów proxy dla użytkowników indywidualnych. Preferujemy jednak korzystanie z domowych serwerów proxy, ponieważ są one szybkie i nie można ich łatwo wykryć. Co więcej, możemy używać wyrażeń regularnych w Pythonie do dopasowywania lub znajdowania zestawów ciągów znaków. Oznacza to, że możemy wyodrębnić dowolny wzorzec ciągu z tekstu za pomocą wyrażeń regularnych. Widzieliśmy również, że wizualizacja danych przekształca ogromne ilości danych w wykresy, grafy i inne wizualizacje, które pomagają nam wykrywać anomalie i identyfikować przydatne trendy w danych.