хотите помочь? Вот ваши варианты:","Crunchbase","О нас","Спасибо всем за потрясающую поддержку!","Быстрые ссылки","Партнерская программа","Премиум","ProxyScrape премиум-проба","Проверка прокси-сервера онлайн","Типы прокси-серверов","Страны-посредники","Примеры использования прокси-сервера","Важно","Политика использования файлов cookie","Отказ от ответственности","Политика конфиденциальности","Условия и положения","Социальные сети","Facebook","LinkedIn","Twitter","Quora","Telegram","Дискорд","\n © Copyright 2024 - Thib BV | Brugstraat 18 | 2812 Mechelen | Belgium | VAT BE 0749 716 760\n"]}
Как быстро и эффективно извлекать важную информацию с веб-сайтов? Извлечение данных вручную занимает много времени. Вы можете воспользоваться веб-скреппингом - автоматизированным методом получения нетабличных или плохо структурированных данных с веб-сайтов. Позже вы можете преобразовать эти данные в структурированный и пригодный для использования формат, например в электронную таблицу.
Как быстро и эффективно извлекать важную информацию с веб-сайтов? Извлечение данных вручную занимает много времени. Вы можете воспользоваться веб-скреппингом - автоматизированным методом получения нетабличных или плохо структурированных данных с веб-сайтов. Позже вы можете преобразовать эти данные в структурированный и пригодный для использования формат, например в электронную таблицу или файл .csv.
Веб-скрепинг позволяет архивировать данные и отслеживать их изменения в режиме онлайн. Предприятия широко используют его для различных целей. Например, интернет-магазины используют его для сопоставления цен конкурентов и общедоступных страниц. Затем они используют эту информацию для корректировки своих цен. Другой распространенной практикой веб-скрапинга является контактный скрапинг, при котором организации собирают личные данные, такие как номера телефонов или адреса электронной почты, для маркетинговых целей.
Зачем кому-то нужно извлекать большие объемы информации с веб-сайтов? Чтобы понять это, посмотрите на следующие области применения веб-скреппинга.
Вы можете соскабливать данные с веб-сайтов, выполнив следующие действия.
Библиотеки, которые мы можем использовать для веб-скраппинга в Python, следующие:
Pandas - Pandas используется для манипулирования и анализа данных. С помощью этой библиотеки вы можете извлекать данные и сохранять их в нужном формате.
Beautiful Soup - это пакет Python для разбора HTML- и XML-документов. Он создает деревья разбора, которые помогают легко извлекать данные с веб-сайтов.
Requests - Это простая библиотека HTTP.
Мы будем использовать этот сайт для получения данных о количестве случаев COVID. После этого мы проанализируем данные и создадим несколько визуализаций.
Вы можете импортировать запросы и BeautifulSoup в Python для веб-скрапинга, как показано ниже.
импортировать запросы
из bs4 import BeautifulSoup
Укажите URL-адрес веб-сайта, с которого нужно получить данные. Вы должны использовать метод requests.get(), чтобы отправить GET-запрос на указанный URL. Далее необходимо создать конструктор BeautifulSoup, который будет принимать два строковых аргумента, как показано в следующем коде.
url = 'https://www.worldometers.info/coronavirus/countries-where-coronavirus-has-spread/'
страница = requests.get(url)
soup = BeautifulSoup(page.text, 'html.parser')
data = []
С помощью метода soup.find_all() можно отсканировать каждый элемент в таблице URL'sURL's. Он возвращает объект, который предлагает доступ к найденным вхождениям на основе индекса и может быть выведен с помощью цикла for или while.
data_iterator = iter(soup.find_all('td'))
Вы можете использовать цикл while True, который повторяется до тех пор, пока в итераторе не появятся данные.
while True:
try:
страна = next(data_iterator).text
подтверждено = next(data_iterator).text
смерти = next(data_iterator).text
континент = next(data_iterator).text
Для столбцов "подтверждено" и "смертей" убедитесь, что вы убрали запятые и преобразовали их в int.
data.append((
страна,
(confirmed.replace(', ', '')),
(deaths.replace(',', '')),
континент
))
except StopIteration:
break
Когда количество элементов, оставшихся для итерации, равно нулю, будет выдана ошибка StopIteration.
Выполнив приведенный выше код, вы сможете извлечь данные с сайта. Для дальнейшего анализа данных необходимо создать фрейм данных Pandas. В приведенном ниже коде мы отсортировали данные по количеству подтвержденных случаев COVID.
Импортируйте библиотеку pandas, чтобы создать кадр данных.
data.sort(key = lambda row: row[1], reverse = True)
import pandas as pd
df = pd.DataFrame(data,columns=['country','Number of cases','Deaths','Continent'],dtype=float)
df.head()
df['Число случаев'] = [x.replace(',', '') for x in df['Число случаев']]
df['Количество случаев'] = pd.to_numeric(df['Количество случаев'])
df
Вы получите следующий результат:
Чтобы получить информацию о Dataframe, используйте df.info().
df.info()
Мы создадим новый столбец с именем Death_rate, как показано ниже.
dff = df.sort_values(by ="Количество случаев",ascending = False)
dff['Коэффициент_смертности'] = (dff['Смертность']/dff['Количество случаев'])*100
dff.head()
На выходе получаем следующее.
Прокси-сервер позволяет вам использовать уникальный IP-адрес для доступа к информации, которую вы хотите соскрести. Таким образом, веб-сайт не видит ваш реальный IP-адрес, что позволяет вам собирать данные анонимно. Использовать прокси-серверы для веб-скрапинга необходимо по следующим причинам.
Вы можете использовать два приведенных ниже прокси-сервера для поиска данных с веб-сайтов.
Вы знаете, что визуализация данных - это графическое представление данных или информации. Вы можете использовать такие визуальные инструменты, как диаграммы, карты и графики, в качестве доступного способа понимания представленных данных. Давайте посмотрим, как можно визуализировать извлеченные данные с этого сайта с помощью инструментов визуализации данных.
Для визуализации данных необходимо импортировать следующие библиотеки, как показано ниже.
import seaborn as sns
import matplotlib.pyplot as plt
from pylab import rcParams
Вы можете построить парный график, чтобы продемонстрировать парные отношения в наборе данных. Вы можете легко реализовать это с помощью приведенного ниже кода и выявить тенденции в данных для последующего анализа.
rcParams['figure.figsize'] = 15, 10
из matplotlib.pyplot import figure
figure(num=None, figsize=(20, 6), dpi=80, facecolor='w', edgecolor='k')
sns.pairplot(dff,hue='Continent')
Вы получите результат в виде.
Вы можете построить гистограмму, которая отображает категориальные данные в виде прямоугольных столбиков и сравнивает значения различных категорий в данных.
sns.barplot(x = "Страна",y = "Количество случаев",data = dff.head(10))
На выходе получаем следующее.
Понять взаимосвязь между числовыми значениями можно с помощью диаграммы рассеивания. Она использует точки для отображения взаимосвязи между переменными.
sns.scatterplot(x = "Число случаев", y = "Смертность", hue = "Континент", data = dff)
На выходе получаем следующее.
В приведенном ниже коде мы сгруппируем данные по континентам и отсортируем их по количеству случаев COVID.
dfg = dff.groupby(by = 'Continent',as_index = False).agg({'Number of cases':sum,'Deaths':sum})
dfgg = dfg[1:]
df1 = dfgg.sort_values(by = 'Number of cases',ascending = False)
df1['Death_rate'] = (df1['Deaths']/df1['Number of cases'])*100
df1.sort_values(by = 'Death_rate',ascending = False)
На выходе получаем следующее.
Теперь построим гистограмму между "Continent" и "Death_rate", как показано ниже.
sns.barplot(x = 'Continent',y = 'Death_rate',data = df1.sort_values(by = 'Death_rate',ascending = False))
На выходе получаем следующее.
На этой гистограмме видно, что среди всех стран самый высокий уровень смертности наблюдается в Южной Америке, а самый низкий - в Австралии.
Установите texttable для создания простой ASCII-таблицы. Затем импортируйте ее как tt.
!pip install texttable
import texttable as tt
Необходимо создать объект texttable, как показано ниже. В начале таблицы нужно добавить пустую строку для заголовков и выровнять столбцы.
table = tt.Texttable()
table.add_rows([(None, None, None, None, None)] + data) table.set_cols_align(('c', 'c', 'c', ' c')) # 'l' обозначает левую сторону, 'c' - центр, а 'r' - правую сторону
table.header((' Страна ', ' Число случаев ', ' Смертность ', ' Континент '))
print(table.draw())
Здесь вывод представляет некоторые строки таблицы в виде.
С помощью веб-скреппинга вы можете быстро и эффективно извлекать большие объемы данных с веб-сайтов. Извлеченные неструктурированные данные можно преобразовать в удобный для использования формат, например в файл .csv. Мы видели, как можно соскребать данные с веб-сайтов с помощью двух модулей - Pandas и BeautifulSoup. Прокси позволяют извлекать данные из Интернета анонимно. Для поиска информации в Интернете можно использовать как прокси центра обработки данных, так и жилые прокси. Жилые прокси более надежны, но стоят дороже, чем центральные. Далее мы можем провести анализ данных, чтобы получить полезную информацию в соответствии с нашими потребностями. В этой статье мы проанализировали данные с помощью таких инструментов визуализации данных, как столбчатые диаграммы, парные диаграммы и диаграммы рассеяния.