【技巧】网页图文保存为docx文档:利用pypandoc库转换格式
回答
收藏

【技巧】网页图文保存为docx文档:利用pypandoc库转换格式

晴天
2023-06-26 12:22·浏览量:3032
晴天
发布于 2023-01-28 16:55更新于 2023-06-26 12:223032浏览

一、问题的引出

今天遇到问题:能否将网页中指定区域的图文内容快速保存为docx文档呢?效果如下图。

之前在论坛看过类似的提问和解法,采用获取目标网页元素的源码后写入到html,详情参考此链接:https://www.winrobot360.com/community/detaildiscuss/?id=daaaf634-0b4c-4ded-8ca1-d3e2ab696d41


二、解决问题的思路

上面帖子的提供了一个不错的思路,不过流程到获取内容保存到html就结束了,没有保存为docx文档的方法,能否在这个方法的基础上再拓展下呢?带着这个想法到网页上搜索关键词“python html 转 docx",出来的结果似乎可以解决问题。


看了几个网页链接,发现其中下面这个帖子基本可以满足了我的需求,照着依样画葫芦操作了一番后,确实可以解决一部分格式转换的问题。

https://blog.csdn.net/fenglepeng/article/details/108982782

照着操作网页文本是保存下来了,但是为什么网页图片不见了???😕





看来应该有什么地方出错了!于是继续搜索,查找图片丢失的原因,继续搜索关键词”pypandoc html2 docx image lost“,搜索出来的结果应该可以解决问题,点进去看看再说!!

果然,其中一个帖子里解释了原因,只需要添加sandbox=False  这个参数就可以了



果然,添加了这个sandbox=False参数后,保存的文档中就有图片了,Get!!!




三、操作流程指引

① 打开”python包管理“,安装”pypandoc“和”pypandoc-binary“两个模块
(建议使用指定镜像,用tsinghua的源,速度比较快)



② 获取目标网页对象,捕获目标网页元素,使用”获取元素信息“获取目标元素的网页源代码


③ 插入”python代码块“,写入目标代码,执行指令。

# 下面是代码内容,可以直接复制后修改上图黄底色的参数

import pypandoc
pypandoc.convert_text(
web_element_attribute,
to="docx",
format="html",
outputfile=r"d:\向风飞行.docx",
sandbox=False)


④ 保存下来的文档效果图如下

PS:pypandoc模块的功能很强大,有兴趣的朋友可以搜索下它的功能和使用场景。

收藏5
全部回答1
最新
发布回答
回答