g1879 / DrissionPage

基于python的网页自动化工具。既能控制浏览器,也能收发数据包。可兼顾浏览器自动化的便利性和requests的高效率。功能强大,内置无数人性化设计和便捷功能。语法简洁而优雅,代码量少。
http://g1879.gitee.io/drissionpagedocs
BSD 3-Clause "New" or "Revised" License
6.2k stars 613 forks source link
automation-framework crawlers requests selenium-python

中文文档

Featured|HelloGitHub

This project is mainly updated in gitee, and will be submitted to GitHub after producing a stable version. Check out the latest developments at gitee.

✨️ Overview

DrissionPage is a python-based web page automation tool.

It can control the browser, send and receive data packets, and combine the two into one.

It can take into account the convenience of browser automation and the high efficiency of requests.

It is powerful and has countless built-in user-friendly designs and convenient functions.

Its syntax is concise and elegant, the amount of code is small, and it is friendly to novices.


 star

Project address: gitee | github

Your star is my greatest support💖

Star History Chart


🛠 How to use

📖 Usage documentation: Click to view

Communication QQ group: 558778073


☕ Buy me coffee

If this project is helpful to you, why not buy the author a cup of coffee :)


📕 background

When using requests for data collection, when facing a website to log in to, you have to analyze data packets and JS source code, construct complex requests, and often have to deal with anti-crawling methods such as verification codes, JS obfuscation, and signature parameters. The threshold is high and the development efficiency is low. high. Using a browser can largely bypass these pitfalls, but the browser is not very efficient.

Therefore, the original intention of this library is to combine them into one and achieve "fast writing" and "fast running" at the same time. It can switch the corresponding mode when different needs are needed, and provide a humanized usage method to improve development and operation efficiency. In addition to merging the two, this library also encapsulates commonly used functions in web page units, providing very simple operations and statements, allowing users to reduce considerations of details and focus on function implementation. Implement powerful functions in a simple way and make your code more elegant.

The previous version was implemented by repackaging selenium. Starting from 3.0, the author started from scratch, redeveloped the bottom layer, got rid of the dependence on selenium, enhanced functions, and improved operating efficiency.


💡 Concept

Simple yet powerful!


☀️ Features and Highlights

After long-term practice, the author has stepped through countless pitfalls, and all the experiences he has summarized have been written down in this library.

🎇 Powerful self-developed core

This library uses a fully self-developed kernel, has built-in N number of practical functions, and has integrated and optimized common functions. Compared with selenium, it has the following advantages:

🎇 Highlighted features

In addition to the above advantages, this library also has numerous built-in humanized designs.


🖐🏻 Disclaimer

Please do not apply DrissionPage to any work that may violate legal regulations and moral constraints. Please use DrissionPage in a friendly manner, comply with the spider agreement, and do not use DrissionPage for any illegal purposes. If you choose to use DrissionPage This means that you abide by this agreement. The author does not bear any legal risks and losses caused by your violation of this agreement. You will be responsible for all consequences.