Перед тем как приступить к машинному обучению (ML) необходимо собрать и обработать данные, а точнее выполнить скрапинг и парсинг. Теперь немного поподробнее
Веб-скрапинг – это процесс автоматического сбора информации из онлайн-источников. Для выбора нужных сведений из массива «сырых» данных, полученных в ходе скрапинга, нужна дальнейшая обработка – парсинг. В процессе парсинга выполняются синтаксический анализ, разбор и очистка данных. Результат парсинга – очищенные, упорядоченные, структурированные данные, представленные в формате, понятном конечному пользователю (или приложению).
Для скрапинга содержимого страницы можно воспользоваться библиотеками BeautifulSoup и requests:
Это один из приемов по скрапингу и парсингу данных, в зависимости от сайта способы извлечения и обработки данных могут меняться.
Веб-скрапинг – это процесс автоматического сбора информации из онлайн-источников. Для выбора нужных сведений из массива «сырых» данных, полученных в ходе скрапинга, нужна дальнейшая обработка – парсинг. В процессе парсинга выполняются синтаксический анализ, разбор и очистка данных. Результат парсинга – очищенные, упорядоченные, структурированные данные, представленные в формате, понятном конечному пользователю (или приложению).
Для скрапинга содержимого страницы можно воспользоваться библиотеками BeautifulSoup и requests:
from bs4 import BeautifulSoupДалее сырые данные нужно обработать, сделать парсинг, чтобы извлечь из них нужную информацию.
import requests
url = 'http://example.com'
res = requests.get(url)
soup = BeautifulSoup(res.text,'html.parser')
print(soup)
find_all(‘object’)
– функция проводит поиск по странице и возвращает все найденные объекты в виде списка;find(‘object’).text
– этот метод вернет текст, находящийся в объекте;results=soup.find_all('h1', class_='title')Для скрапинга и парсинга динамического контента лучше использовать библиотеку Selenium. Например, если не прокрутить всю страницу информация не загрузится. Для имитации прокрутки можно воспользоваться скриптом
for result in results:
print(result.get_text())
'window.scrollTo(0, document.body.scrollHeight);'
from selenium import webdriverА далее стандартная работа с BeautifulSoup.
from selenium.webdriver.chrome.service import Service as ChromeService
from webdriver_manager.chrome import ChromeDriverManager
import time
driver = webdriver.Chrome(service=ChromeService(ChromeDriverManager().install()))
url = 'http://example.com'
driver.get(url)
driver.execute_script('window.scrollTo(0, document.body.scrollHeight);')
time.sleep(5)
html = driver.page_source
soup = BeautifulSoup(html, 'html.parser')
Это один из приемов по скрапингу и парсингу данных, в зависимости от сайта способы извлечения и обработки данных могут меняться.