From 4a0b2a7a92185e5cd146218ccc1d6f3f8a8fe826 Mon Sep 17 00:00:00 2001 From: g1879 Date: Mon, 19 Dec 2022 19:31:03 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=96=87=E6=A1=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/入门指南/快速上手.md | 91 +++++++++++++++++++++++++++++---------- 1 file changed, 68 insertions(+), 23 deletions(-) diff --git a/docs/入门指南/快速上手.md b/docs/入门指南/快速上手.md index 8b4cf4d..97bde19 100644 --- a/docs/入门指南/快速上手.md +++ b/docs/入门指南/快速上手.md @@ -1,4 +1,4 @@ -# 安装 +# ✔️ 安装 ```shell pip install DrissionPage @@ -10,50 +10,52 @@ pip install DrissionPage pip install DrissionPage --upgrade ``` -# 导入 +# ✔️ 导入 + +根据实际须要导入相应对象: ```python -from DrissionPage import WebPage +from DrissionPage import WebPage # 集成两种模式,推荐使用 +from DrissionPage import MixPage # 集成两种模式,基于selenium +from DrissionPage import ChromiumPage # 只控制浏览器,无须切换s模式 +from DrissionPage import SessionPage # 只收发数据包,无须使用浏览器 +from DrissionPage import DriverOptions # 浏览启动参数管理器 +from DrissionPage import SessionOptions # Session对象启动参数管理器 ``` -# 初始化 +# ✔️ 第一次使用 如果只使用 s 模式是无须初始化的,导入后就可以直接使用。 -如果使用 d 模式,`WebPage`须指定浏览器执行文件路径。`MixPage`还须下载与浏览器版本匹配的 driver 文件(后面的章节介绍)。 +如果使用 d 模式,`WebPage`须指定浏览器执行文件路径。`MixPage`还须下载与浏览器版本匹配的 driver 文件。这里只介绍`WebPage`需要的设置。 -默认情况下,如果系统内安装了 Chrome 浏览器,或在系统路径中指定了 chrome 执行文件,DrissionPage 就可以使用了。 +多数情况下,如果系统内安装了 Chrome 浏览器,或在系统路径中指定了 Chrome 执行文件,DrissionPage 运行时会自动从系统路径和注册表(Windows)中寻找路径,可直接运行,无须设置。 -当然也可指定其它浏览器或启动路径: +如果程序没有找到路径,或需要手动设置,可使用以下方法: -!> **注意:**
这段代码只用于设置配置文件中的路径信息,**运行一次即可**,勿写到正式程序里 。 - -新建一个**临时文件** ,修改并运行以下代码,可手动指定 Chrome 和 driver 路径,记录到配置文件,以后程序会自动读取其中的配置,无须再写。 - -如果想把配置信息写在代码里,请查阅“使用方法”里相关章节。 +新建一个**临时文件** ,修改并运行以下代码,作用是手动指定 Chrome 路径,记录到配置文件,以后程序会自动读取其中的配置,无须再写。 ```python from DrissionPage.easy_set import set_paths # 请将以下路径修改为本机实际路径 -set_paths(chrome_path=r"D:\chrome\chrome.exe", # 浏览器执行文件路径 - user_data_path=r"D:\chrome\userData", # 用户数据保存路径 - local_port=9999) # 设置浏览器端口,默认9222 +set_paths(chrome_path=r"D:\chrome\chrome.exe") # 浏览器执行文件路径 ``` -# 上手示例 +!> **注意:**
这段代码只用于设置配置文件中的路径信息,**运行一次即可**,勿写到正式程序里 。 + +除了把配置信息写在配置文件,还能把信息直接写在代码里,后面章节再详细叙述。 + +# ✔️ 上手示例 现在,我们通过一些例子,来直观感受一下 DrissionPage 的工作方式。 -!> **注意:**
如果您有已打开的 Chrome -浏览器,请先关闭,否则会造成冲突。后面在 [创建页面对象](%E4%BD%BF%E7%94%A8%E6%96%B9%E6%B3%95%5C%E4%BD%BF%E5%88%9B%E5%BB%BA%E9%A1%B5%E9%9D%A2%E5%AF%B9%E8%B1%A1.md) -章节再介绍多 Chrome 浏览器共存的方法。 - - -## 登录 gitee 网站 +## 📍 用 d 模式登录 gitee 网站 网址:https://gitee.com/login 此示例演示使用控制浏览器的方式自动登录 gitee 网站。 +!> **注意:**
如果您有已打开的 Chrome 浏览器,请先关闭,否则会造成冲突。后面在 [创建页面对象](%E4%BD%BF%E7%94%A8%E6%96%B9%E6%B3%95%5C%E4%BD%BF%E5%88%9B%E5%BB%BA%E9%A1%B5%E9%9D%A2%E5%AF%B9%E8%B1%A1.md) 章节再介绍多 Chrome 浏览器共存的方法。 + ```python from DrissionPage import WebPage @@ -70,7 +72,50 @@ page.ele('#user_password').input('你的密码') page.ele('@value=登 录').click() ``` -# 说明 +## 📍 用 s 模式爬取 gitee 网站开源列表 + +以下代码可直接运行: + +```python +from DrissionPage import WebPge + +# 用 s 模式创建页面对象 +page = WebPage('s') + +for i in range(1, 4):# 爬取3页 + # 跳转到第几页 + p.get(f'https://gitee.com/explore/all?page={i}') + # 遍历所有库链接并打印 + for link in p.eles('.title project-namespace-path'): + print(link.text, link.link) +``` + +结果: + +``` +小熊派开源社区/BearPi-HM_Nano https://gitee.com/bearpi/bearpi-hm_nano +明月心/PaddleSegSharp https://gitee.com/raoyutian/PaddleSegSharp +RockChin/QChatGPT https://gitee.com/RockChin/QChatGPT +TopIAM/eiam https://gitee.com/topiam/eiam + +以下省略。。。 +``` + +## 📍 `ChromiumPage`和`SessionPage` + +上面两个例子都不用转换模式,可以不需要用`WebPage`,而使用对应模式的页面对象也可以,使用方法是一样的。 + +```python +from DrissionPage import ChromiumPage +from DrissionPage import SessionPage + +d_page = ChromiumPage() # 用于控制浏览器 +s_page = SessionPage() # 用于收发数据包 + +# 以下省略…… +``` + +# ✔️ 说明 无论电脑安装的 Chrome 能否正常使用,都建议使用绿色版 Chrome,并且设置`user_data_path`。