DrissionPage (g1879/DrissionPage)
Searching Database…
12.5K ·GitHub
Что это такое?
DrissionPage — это инструмент для веб-автоматизации на Python, который умеет управлять браузером, отправлять и принимать сырые HTTP-пакеты или совмещать то и другое в одном процессе, сочетая удобство автоматизации браузера с эффективностью уровня requests.
Это замена Selenium или что-то другое?
Это библиотека, которую импортируют в скрипты на Python. Она использует собственный движок вместо WebDriver, поэтому не требует скачивания драйверов под конкретные браузеры и работает быстрее Selenium.
Как добавить её в проект?
Установите её как пакет Python и импортируйте в скрипт, чтобы начать управлять браузером или отправлять пакеты. Настройки задаются через файл ini, который DrissionPage читает автоматически.
Нужно ли сначала установить специальный драйвер браузера?
Нет. Так как библиотека не использует WebDriver, не нужно скачивать подходящие драйверы для разных версий браузеров. Кроме того, в неё уже встроен lxml для быстрого разбора HTML.
Можно ли использовать это в любом проекте по парсингу, какой захочу?
Нет. Условия использования ограничивают применение личными некоммерческими законными учебными целями, запрещают использование, нарушающее robots.txt, причиняющее вред другим или связанное с преследованием, а коммерческое использование требует разрешения правообладателя.
Для кого это предназначено?
Для разработчиков на Python, которые занимаются парсингом и автоматизацией веб-страниц, в том числе для новичков: автор сделал синтаксис лаконичным и понятным для начинающих.
Работает ли это на Linux и Mac или только на Windows?
Это кроссплатформенная библиотека Python, помеченная как поддерживающая Linux, macOS и Windows.
Может ли она работать с несколькими iframe или вкладками без переключения контекста?
Да. Она воспринимает iframe как обычные элементы, поэтому можно находить элементы внутри iframe без переключения туда и обратно. Кроме того, она может одновременно работать с несколькими вкладками без переключения между ними.
Может ли она сделать снимок всей страницы, включая содержимое за пределами видимой области?
Да, поддерживается скриншот всей веб-страницы, включая части за пределами видимой области.
Можно ли использовать уже открытый браузер вместо запуска нового при каждом запуске скрипта?
Да, можно переиспользовать уже открытый браузер, чтобы не перезапускать его с нуля при каждом запуске. Это удобнее для отладки.
Почему автор создал собственный движок, а не просто обернул Selenium?
Автор хотел избавиться от накладных расходов WebDriver (несоответствие версий драйверов, более низкая скорость) и встроить много удобных функций: встроенные ожидания и повторные попытки, упрощённый синтаксис поиска элементов и прямое сохранение изображений из кэша. В результате получилась более стабильная и изящная библиотека.
What are similar projects?
firecrawl, invisible_puppeteer, MediaCrawler, Scrapegraph-ai, SeleniumBase, crawlee, automa, Agent-Reach
Which topics is it in?
web-automation, web-crawler, webscraping, scraper, scraping, web-scraping, browser-automation, cli-tool, testing, china, chinese, automation



