
Что такое скрипты в Roblox? Roblox — это крутая платформа, где люди создают свои миры и играют в них. Миллионы пользователей каждый день ...
30.08.2025
Представьте ситуацию: вам нужно собрать цены с 10 сайтов конкурентов, или вы хотите создать свою базу контактов для email-маркетинга. Делать это вручную — долго и муторно. А вот парсинг сайтов на Python справится за считанные минуты.
Python — один из самых популярных языков для парсинга. Почему? Потому что он прост в освоении, а его экосистема предлагает множество готовых решений: requests
, BeautifulSoup
, Selenium
и другие.
В этой статье мы разберём:
Также покажем рабочие примеры парсинга на Python , расскажем о защите от парсинга сайта и как с ней работать. Если ты новичок — не бойся: начнём с самого начала.
Если тебе нужно быстро получить данные с сайтов — парсинг на Python станет твоим лучшим помощником. Он позволяет автоматически собирать информацию: заголовки, тексты, цены, телефоны, ссылки — всё, что есть на странице.
Простыми словами, парсинг сайта — это автоматическое «выдергивание» нужной информации со страниц. Ты пишешь скрипт, он сам переходит по ссылкам, собирает данные и сохраняет их в удобный формат — например, CSV или JSON.
⚠️ Только помни: не все сайты разрешают парсинг. Читай правила использования и уважай закон.
В Python есть масса инструментов для парсинга. Вот самые популярные:
Библиотека | Что делает |
---|---|
BeautifulSoup | Извлекает данные из HTML и XML |
lxml | Быстрый парсер, работает с BeautifulSoup |
requests | Отправляет запросы к серверу и получает ответ |
Библиотека | Особенности |
---|---|
Selenium | Эмулирует реальный браузер, работает с JS |
Playwright | Более современная альтернатива Selenium |
Scrapy-Splash | Интеграция с движком рендеринга JavaScript |
fake-useragent
— чтобы менять User-Agent и маскироваться под человекаproxies
— меняй IP, чтобы не попасть под банpandas
— удобно хранить и анализировать собранные данныеДавайте сделаем простой парсер, который соберёт заголовки статей с сайта.
pip install requests beautifulsoup4
import requests
from bs4 import BeautifulSoup
url = 'https://example.com '
response = requests.get(url)
soup = BeautifulSoup(response.text, 'html.parser')
for title in soup.find_all('h2'):
print(title.text)
Этот код:
<h2>
и выводит их текстimport csv
with open('results.csv', 'w', newline='', encoding='utf-8') as f:
writer = csv.writer(f)
writer.writerow(['Title'])
for title in titles:
writer.writerow([title])
Не все сайты отдают данные сразу. Многие используют JavaScript — тогда обычный requests
ничего не найдёт.
Сайты с JS загружают контент после загрузки страницы. То есть, когда вы делаете запрос через requests
, вы получаете пустую обёртку без данных.
Используйте библиотеки, которые умеют выполнять JavaScript:
Selenium
Playwright
Scrapy-Splash
Пример с Playwright:
from playwright.sync_api import sync_playwright
with sync_playwright() as p:
browser = p.chromium.launch()
page = browser.new_page()
page.goto('https://some-js-site.com ')
content = page.content()
browser.close()
Многие сайты не любят ботов. Они могут:
time.sleep(2)
)Пример с заголовками:
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64)'
}
response = requests.get(url, headers=headers)
Нет. Некоторые сайты запрещают парсинг в условиях использования. Всегда проверяй политику сайта.
Для простых задач — BeautifulSoup
. Для сложных сайтов с JS — Selenium
или Playwright
.
Добавь задержки, используй прокси и меняй заголовки.
Автоматически сложно. Можно использовать сервисы распознавания CAPTCHA или искать API сайта.
Часто используют CSV, JSON или Excel. Для больших объёмов — SQLite или PostgreSQL.
Парсинг сайтов на Python — это мощный, но простой в освоении инструмент. Он поможет собирать данные быстро и эффективно. Главное — следовать правилам, выбирать подходящие библиотеки и не забывать про безопасность.
Автор: Алексей Юрьев — фрилансер Python-разработчик с 10 летним стажем.