requests-html

psf / requests-htmlPython第 59 期 · 2021-02-28
实时数据待拉取(运行 scripts/enrich.py 后填充)
暂无截图

项目简介

好用的 Python 解析 HTML 库。写爬虫的小伙伴都感受过解析 HTML 的痛苦,常用工具 BeautifulSoup、lxml、Scrapy 的 selector 等。今天你有了新的选择 requests-html,支持 XPath、CSS 选择器、动态页面、过滤指定内容等。上手特别简单和迅速,我的爬虫项目 [Hydra](https://github.com/HelloGitHub-Team/Hydra) 中就用了它,解析 HTML 变得轻松了许多。下面是我觉得好用的函数示例:

python# 找出元素下的所有链接about.absolute_links{'http://brochure.getpython.info/', 'https://www.python.org/about/quotes/', 'https://www.python.org/about/help/'}# 匹配内容>>> r.html.search('Python is a {} language')[0]programming# 直接提取属性的值>>> about.attrs{'id': 'about', 'class': ('tier-1', 'element-1'), 'aria-haspopup': 'true'}# 呈现加载 JS 后的动态内容r.html.render()

本期其他项目

全部 →
TIC-80
C第 59 期

TIC-80

复古游戏引擎模拟器。TIC-80 支持 Windows、Linux、Mac 等主流平台,通过它你可以运行多种复古小游戏,觉得没意思?它不仅可以玩游戏还可以制作游戏,支持多种编程语言,还有地图、声音编辑器等,就是一个回到过去的“神奇迷你电脑”

tilt-brush
C#第 59 期

tilt-brush

Google 开源的 VR 绘图工具。用它可以在虚拟三维空间中创作各种作品,支持主流的 VR 设备

winmerge
C++第 59 期

winmerge

一个用 C++ 编写的 Windows 比较和合并工具。它可以比较文件和文件夹,以直观的可视化格式来显示两者甚至三者之间的差异,操作简单

暂无截图
Go第 59 期

bild

纯 Go 实现的多种图像处理算法库。示例代码:```go package main import ("github.com/anthonynsimon/bild/effect""github.com/anthonynsimon/bild/imgio""github.com/anthonynsimon/bild/transform")func main() {img, err := imgio.Open("input.jpg")if err != nil {fmt.Println(err)return}inverted := effect.Invert(img)resized := transform.Resize(inverted, 800, 800, transform.Linear)rotated := transform.Rotate(resized, 45, nil)if err := imgio.Save("output.png", rotated, imgio.PNGEncoder()); err != nil {fmt.Println(err)return}}```

darwinkit
Go第 59 期

darwinkit

封装 Apple/Mac 接口的 Go 库。用它仅在 80 行代码内就能写出个 macOS 菜单栏「番茄时钟」应用,[查看源码](https://github.com/progrium/macdriver/blob/main/examples/pomodoro/main.go#L1)

gin-vue-admin
Go第 59 期

gin-vue-admin

一个基于 Gin+Vue 实现的后台管理系统。看项目名字就知道它为什么而生!该项目的作者还做了配套的免费教学视频,找 Go 实战项目的同学可以学起来了

pyroscope
Go第 59 期

pyroscope

基于 Go 的开源实时性能分析平台。仅需在源码中添加几行代码,pyroscope 就能帮你找出代码的性能问题、CPU 使用过高的原因,还有丰富的图表和调用树展示。支持 Go、Python、Ruby 编程语言,[中文说明](https://github.com/pyroscope-io/pyroscope/blob/main/translations/README.ch.md)

dbeaver
Java第 59 期

dbeaver

支持主流数据库的桌面管理工具。一款用 Java 写的数据库管理工具,只要是 JDBC 支持的数据库它都支持。虽然分免费社区版和付费企业版,但是免费的功能其实已经够用啦

同类项目

全部 →
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 的分享