python - 如何以编程方式将在线网页目标元素打印为图像?

标签 python node.js printing jsdom archiving

给定一个在线网页:

https://stackoverflow.com/users/1974961

在该网页中给定一个带有 id="REPUTATION" 的目标元素(此处人为地用红色边框表示):

enter image description here

如何将此元素打印到图像中 reputation_1974961.ext

最佳答案

看看这个库:https://www.npmjs.com/package/html2png

html2png 库允许您将 HTML 字符串传递给其 render 方法,并且它将把 HTML 渲染为 PNG(在其回调中作为缓冲区返回)。然后您应该能够使用标准文件 I/O 将缓冲区内容保存到文件中。

至于抓取该元素的 HTML 字符串:使用 request 或您选择的请求库抓取整个页面,然后使用 Cheerio 之类的工具来定位您想要的元素并获取其 HTML 。 (Cheerio:https://www.npmjs.com/package/cheerio)。

可能存在一些问题,例如您可能还需要从返回的 HTML 中获取一些样式并将其复制到渲染字符串中,但这应该可以帮助您找到正确的方向:)

关于python - 如何以编程方式将在线网页目标元素打印为图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54135472/

相关文章:

java - 将参数从 Java 传递到 Python 时出错

javascript - Node.js 集群

node.js - Node JS 同步数据库调用

python - F# 等效于 Python 范围

python - 如何在 Django REST Framework 中使用默认的日期时间序列化?

java - Android 4.4 打印 - "java.lang.IllegalStateException: printing is already pending"

css - 使用位置 :absolute inside relative can create problems in Print , 屏幕阅读器和移动用户?

java - 一个简单的二十一点游戏

python - 使用详细信息 View 时 djangocms 中出现奇怪的 404 错误

linux - mkdir : cannot create directory ‘/usr/local/n/versions’ : Permission denied