本库是 DrissionPage 的示例。
DrissionPage 是一个用 POM 方式封装了 selenium 和 requests 的自动化框架。
它实现了这两种模式的无缝切换,可兼顾 selenium 的便利性和 requests 的高效率。
它极大地简化了 selenium 臃肿的语句,代码量显著减少,并封装了常用的功能。
而且两种模式使用相同的操作方法,使用体验一致,简洁、快速。
DrissionPage 项目地址:
该程序实现自动观看超星学习通账号下所有学习视频,可自动做视频中的题目。
该程序实现自动观看超星学习通账号下所有学习视频。
该程序实现每30秒扫码一次buff163上报价列表,有新报价时自动处理。
该程序实现在某后台新建一个活动,然后审核。实现了新人活动管理类。
大量的数据用列表页方式存放在网站中,这些列表页有相同的特征,用相同的方法爬取。 爬取网站时经常重复编写相同的代码,做重复的劳动。把列表页共有的特征提取出来,封装成类,实现可复用。减轻开发的工作量。 因此基于 DrissionPage
派生出专门用于处理列表页的类,该类能适配绝大部分列表页面,配置简单,代码优雅。
得益于 DrissionPage 的特性,该库也有 selenium 和 requests 两种模式。
因为功能已比较成熟,且使用频繁,所以独立出来做成已个库。
ListPage 项目地址:https://gitee.com/g1879/ListPage
ScrollingPage 类用于处理滚动加载的页面。
它抽取了滚动加载列表页的特征,即栏目名、列表容器、数据行、列,封装了对页面的基本读取和操作方法,可适用于几乎所有滚动式列表页面。它工作在 MixPage 的 d 模式。
示例:
动漫之家
以下程序分别用于获取链接和批量下载,可搭配使用。
使用ListPageS获取全站漫画链接,并记录到excel。
使用MixPage的s模式下载漫画。
漫画阅读页面里有段js保存了该话中所有图片的网址,本程序用python重写了该js,获取到下载地址后用MixPage的download()方法下载。
mangabz
以下程序分别用于获取链接和批量下载,可搭配使用。
使用ListPageS获取全站漫画链接,并记录到excel。
使用MixPage的d模式下载漫画。
漫画图片为js动态加载,故用d模式逐张模拟点击,获取每张图片的url,然后用MixPage的download()方法下载。
这种方法爬得慢,但开发轻松,不用抓包、分析js等。
为节省资源,设置了无界面模式和不加载图片。
多多看书
纵横中文网
Sign in for post a comment
Comments ( 1 )