DrissionPage/docs/入门指南/快速上手.md
2022-12-19 19:31:03 +08:00

4.2 KiB
Raw Blame History

✔️ 安装

pip install DrissionPage

升级:

pip install DrissionPage --upgrade

✔️ 导入

根据实际须要导入相应对象:

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 文件。这里只介绍WebPage需要的设置。

多数情况下,如果系统内安装了 Chrome 浏览器,或在系统路径中指定了 Chrome 执行文件DrissionPage 运行时会自动从系统路径和注册表Windows中寻找路径可直接运行无须设置。

如果程序没有找到路径,或需要手动设置,可使用以下方法:

新建一个临时文件 ,修改并运行以下代码,作用是手动指定 Chrome 路径,记录到配置文件,以后程序会自动读取其中的配置,无须再写。

from DrissionPage.easy_set import set_paths

# 请将以下路径修改为本机实际路径
set_paths(chrome_path=r"D:\chrome\chrome.exe")  # 浏览器执行文件路径

!> 注意:
这段代码只用于设置配置文件中的路径信息,运行一次即可,勿写到正式程序里 。

除了把配置信息写在配置文件,还能把信息直接写在代码里,后面章节再详细叙述。

✔️ 上手示例

现在,我们通过一些例子,来直观感受一下 DrissionPage 的工作方式。

📍 用 d 模式登录 gitee 网站

网址:https://gitee.com/login
此示例演示使用控制浏览器的方式自动登录 gitee 网站。

!> 注意:
如果您有已打开的 Chrome 浏览器,请先关闭,否则会造成冲突。后面在 创建页面对象 章节再介绍多 Chrome 浏览器共存的方法。

from DrissionPage import WebPage

# 用 d 模式创建页面对象(默认模式)
page = WebPage()
# 跳转到登录页面
page.get('https://gitee.com/login')

# 定位到账号文本框并输入账号
page.ele('#user_login').input('你的账号')
# 定位到密码文本框并输入密码
page.ele('#user_password').input('你的密码')
# 点击登录按钮
page.ele('@value=登 录').click()

📍 用 s 模式爬取 gitee 网站开源列表

以下代码可直接运行:

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

以下省略。。。

📍 ChromiumPageSessionPage

上面两个例子都不用转换模式,可以不需要用WebPage,而使用对应模式的页面对象也可以,使用方法是一样的。

from DrissionPage import ChromiumPage
from DrissionPage import SessionPage

d_page = ChromiumPage()  # 用于控制浏览器
s_page = SessionPage()  # 用于收发数据包

# 以下省略……

✔️ 说明

无论电脑安装的 Chrome 能否正常使用,都建议使用绿色版 Chrome并且设置user_data_path

如果计划程序打包成 exe 文件,就不能使用默认配置文件记录配置,具体方法请查看“使用方法->打包程序”章节。