DrissionPage

g1879 / DrissionPagePython第 89 期 · 2023-08-28
实时数据待拉取(运行 scripts/enrich.py 后填充)
暂无截图

项目简介

类似 selenuium 的网页自动化工具。这是一个基于 Python 的网页自动化工具,支持 Chromium 内核浏览器。它将控制浏览器和收发请求两大功能合二为一,并提供了统一、简洁的接口。来自 [@马小六](https://hellogithub.com/user/MdXgAyzJSFbTeHh) 的分享

python# 下载星巴克产品图from DrissionPage import SessionPage from re import search# 以s模式创建页面对象page = SessionPage()# 访问目标网页page.get('https://www.starbucks.com.cn/menu/')# 获取所有class属性为preview circle的元素divs = page.eles('.preview circle')# 遍历这些元素for div in divs:# 用相对定位获取当前div元素后一个兄弟元素,并获取其文本name = div.next().text# 在div元素的style属性中提取图片网址并进行拼接img_url = div.attr('style')img_url = search(r'"(.*)"', img_url).group(1)img_url = f'https://www.starbucks.com.cn{img_url}'# 执行下载page.download(img_url, r'.\imgs', rename=name)

本期其他项目

全部 →
暂无截图
C第 89 期

barco

用 C 语言从头写一个 Linux 容器。该项目仅依赖底层的 Linux 功能,用 C 语言实现的一个 Linux 容器,可用来了解更多关于 Linux 容器和内核的技术细节。```$ sudo ./bin/barco -u 0 -m / -c /bin/sh -a . [-v]22:08:41 INFO ./src/barco.c:96: initializing socket pair...22:08:41 INFO ./src/barco.c:103: setting socket flags...22:08:41 INFO ./src/barco.c:112: initializing container stack...22:08:41 INFO ./src/barco.c:120: initializing container...22:08:41 INFO ./src/barco.c:131: initializing cgroups...22:08:41 INFO ./src/cgroups.c:73: setting memory.max to 1G...22:08:41 INFO ./src/cgroups.c:73: setting cpu.weight to 256...22:08:41 INFO ./src/cgroups.c:73: setting pids.max to 64...22:08:41 INFO ./src/cgroups.c:73: setting cgroup.procs to 1458...22:08:41 INFO ./src/barco.c:139: configuring user namespace...22:08:41 INFO ./src/barco.c:147: waiting for container to exit...22:08:41 INFO ./src/container.c:43: ### BARCONTAINER STARTING - type 'exit' to quit #### ls bin home lib32 media root sys vmlinuz boot initrd.img lib64 mnt run tmp vmlinuz.old dev initrd.img.old libx32 opt sbin usr etc lib lost+found proc srv var# echo "i am a container"i am a container```

quake2-rerelease-dll
C第 89 期

quake2-rerelease-dll

《雷神之锤 2》官方重制版源码。《雷神之锤 2》是 id Software 在 1997 年发布的一款第一人称射击游戏,被许多玩家视为经典。该项目是官方 2023 年重新发布的 《雷神之锤 2》游戏源码。

trurl
C第 89 期

trurl

解析和操作 URL 的命令行工具。该项目是 cURL 作者的新作,可用来解析 URL、替换/提取/设置 URL 中的参数。

GeekDesk
C#第 89 期

GeekDesk

小巧的 Windows 桌面启动工具。这款名为极客桌面的免费工具,拥有极简的界面,支持搜索全盘文件、一键呼出、自定义壁纸、定时提醒等功能。

Starward
C#第 89 期

Starward

一款开源的 miHoYo 游戏启动器。这是一款支持米哈游旗下所有桌面端游戏的启动器,支持下载游戏、记录游戏时间、切换账号、保存抽卡记录、米游社工具箱等功能,可运行在 Windows 10 及以上的操作系统。

implot
C++第 89 期

implot

实时绘图的 GUI 库。该项目可根据用户交互和数据更新,实时更新图像的 Dear ImGui 绘图库,支持 GPU 加速、多种绘图类型、混合绘图等功能。仅需少量的代码,就能集成实时数据可视化的功能。```int bar_data[11] = ...;float x_data[1000] = ...;float y_data[1000] = ...;ImGui::Begin("My Window");if (ImPlot::BeginPlot("My Plot")) {ImPlot::PlotBars("My Bar Plot", bar_data, 11);ImPlot::PlotLine("My Line Plot", x_data, y_data, 1000);...ImPlot::EndPlot();}ImGui::End();```

wslg
C++第 89 期

wslg

在 Windows 上运行 Linux 图形化应用的工具。该项目是微软开源的支持在 Windows 操作系统上,运行 Linux GUI 应用的工具。提供了原生和自然的 Linux GUI 应用使用体验,比如跨 Windows 和 Linux 应用的剪切粘贴等功能。WSLg 已内置在 Windows 10 及以上的系统中,可直接通过 wsl 命令启动。

暂无截图
Go第 89 期

etree

更好用的轻量级 Go 语言 XML 库。虽然 Go 语言内置了处理 XML 的库,但在使用时必须按照嵌套层级定义结构体非常繁琐。这个项目的设计灵感来源于 Python 语言的 ElementTree 库,可以在无需定义结构体的情况下灵活的读取、生成 XML 文档。来自 [@两双筷子sqldc](https://hellogithub.com/user/5dGtvaZ6H3L4QMY) 的分享```go doc := etree.NewDocument()doc.CreateProcInst("xml", `version="1.0" encoding="UTF-8"`)doc.CreateProcInst("xml-stylesheet", `type="text/xsl" href="style.xsl"`)people := doc.CreateElement("People")people.CreateComment("These are all known people")jon := people.CreateElement("Person")jon.CreateAttr("name", "Jon")sally := people.CreateElement("Person")sally.CreateAttr("name", "Sally")doc.Indent(2)doc.WriteTo(os.Stdout)```

同类项目

全部 →
abogen
Python第 124 期

abogen

带同步字幕的有声书生成器。这是一款基于 Kokoro-82M 的文本转语音有声书生成工具,可将 EPUB、PDF、TXT、Markdown 和字幕文件转成 MP3、M4B、FLAC 等格式的音频。它提供批量处理、章节拆分、语速调节等功能,支持包括中文在内的 9 种语言。

暂无截图
Python第 124 期

git-filter-repo

Git 历史重写工具。这是一款用于重写 Git 仓库历史的命令行工具,可作为 git filter-branch 的替代品。它仅需 Python 和 Git 即可运行,支持批量改写提交信息、标签重命名、仓库拆分和自动清理等功能。

HypoMux
Python第 124 期

HypoMux

把多张网卡的带宽叠加起来。这是一款专为 Windows 平台打造的多网卡带宽聚合下载加速工具。当电脑同时接入网线、Wi-Fi 或手机热点时,它可将下载任务分配到不同网卡上,实现远超单网卡的下载速度,并支持虚拟网卡、进程分流和实时流量监控等功能。

msgspec
Python第 124 期

msgspec

更快的 Python 序列化库。这是一个高性能 Python 序列化与数据校验库,支持 JSON、MessagePack、YAML 和 TOML 格式,常见操作比同类库快 10-80 倍。

wenyi
Python第 124 期

wenyi

整本翻译外文小说的工具。这是一个用于翻译长篇小说的命令行工具,支持 EPUB、FB2、TXT、Markdown、HTML 和 PDF 文件格式。它通过全书分析、滚动上下文、动态术语表、润色和校对,提升长篇小说翻译的一致性和可读性。

来自 @DawnGhost 的分享
ASCILINE
Python第 123 期

ASCILINE

把视频变成字符流的引擎。这是一款跨平台的实时 ASCII 视频渲染引擎,可实现 30 FPS 的流畅播放效果,支持 URL 直接播放、音视频同步、自适应帧编解码等功能,ASCII 模式下无需 GPU 即可流畅运行。

暂无截图
Python第 123 期

black

省心的 Python 代码格式化工具。该项目是由 Python 软件基金会(PSF)官方维护的代码格式化工具。配置项少、结果可重现,只需一条命令,代码就会变成统一风格,彻底消除团队的代码风格之争。

来自 @Xuefeng Xu 的分享
mpmath
Python第 123 期

mpmath

任意精度的 Python 数学计算库。该项目是可以计算到任意小数位的 Python 库,支持求根、线性代数、微积分、实数和复数运算等功能,适用于处理普通浮点数不够用的高精度数值计算场景。

来自 @Xuefeng Xu 的分享