Введение в парсинг веб-страниц:
Мы знаем, что Интернет содержит всю информацию в виде веб-страниц, написанных в коде HTML. Таким образом, в Интернете содержится много данных, эти данные могут быть полезны для разных целей. Например, я хочу узнать подробности об iPhone 13 pro с разных уникальных веб-страниц, касающихся цены телефона, качества дисплея и общего обзора мобильного телефона. Я буду хранить эту собранную информацию в разных форматах файлов. Используя эти данные, я могу делать выводы, такие как гистограммы, круговые диаграммы или, может быть, я могу предсказать будущую цену на iPhone 13 pro max. Таким образом, мы можем делать что угодно, используя данные, этот процесс называется парсингом веб-страниц.
Получите весь код и файл csv из моего профиля GitHub.
процесс:
Это весь код, не беспокойтесь, если вы его не поняли, я объясню каждую строчку дальше.
#Step 1 install.packages("rvest") library(rvest) #Step 2 rwiki<-'https://en.wikipedia.org/wiki/List_of_circulating_currencies' #Step 3 countries<-rwiki %>% read_html(rwiki) %>% html_element('table')%>% html_table() #Step4 write.csv(countries,"C:/Users/HP/Desktop/scrap/contrycourency//countrycourency.csv")
Шаг 1. rvest – это библиотека R, которая в большинстве случаев используется для парсинга веб-страниц. Чтобы установить этот пакет, мы используем install.packages («rvest»), и для запуска пакета его необходимо активировать для этого, активируйте пакет, запустив эту библиотеку кода (rvest). Теперь пакет активирован, поэтому мы можем использовать элементы этого пакета.
Шаг 2: я использовал переменную rwiki для хранения ссылки на веб-страницу и присвоил ссылку переменной с помощью оператора присваивания в строковом формате.
Шаг 3. Для шага 3 я напишу весь код в одну строку, чтобы его было легко объяснить.
#Step 3 countries<-rwiki %>% read_html(rwiki) %>% html_element('table')%>% html_table()
Итак, что я сделал на этом шаге, так это
- для чтения и импорта всего HTML-кода страницы Википедии я использовал read_html(rwiki). Здесь rwiki — это переменная, в которой я сохранил ссылку на страницу.
- На этой веб-странице есть две таблицы, но нам нужна только первая таблица. Итак, нам просто нужно определить тег таблицы «table» по умолчанию, он выберет первую таблицу веб-страницы. Я использовал этот html_element('table'), чтобы найти тег таблицы в общем HTML-коде веб-страницы.
- Если вам нужны обе таблицы со страницы, вы можете использовать html_elements( 'table')или для выбора второй таблицы укажите только класс второй таблицы как этот html_element('.class') - для печати таблицы я использовал html_table().
- Я сохранил каждую строку шага 3 в переменной countries.
Шаг 4: В заключение, нам нужно сохранить эту таблицу в файле, я сохранил ее в формате csv (значения, разделенные запятыми), чтобы использовать этот формат кода.
write.csv(countries,"path of the file//filename.csv")
вы также можете сохранить в формате Excel, но для этого вам нужно установить writexl и следовать приведенной выше строке для сохранения.
install.packages("writexl") library(writexl) write_xlsx(countries,"path of the file//filename.csv")
Чтобы узнать больше о пакете rvest, перейдите на официальную веб-страницу. и вы получите весь код на моей странице GitHub. Подпишись на меня в Твиттере".