牛逼!40行Python代码把html网页保存为pdf,太方便了

最近临近开学了,大家都在忙着准备各种学习的资料,准备在新的学期好好学习,充实自己。小编身边的同学也是如此,最近,小编的同学小丽就遇到了一个很棘手的问题。

她想将一个网页的Python学习的教程打印下来,方便自己来学习,但是上千页的教程,如果通过手动的方式,一个一个的去转成pdf并保存到本地,实在是麻烦的不。

这就是一个html转pdf的问题,其实网上有很多不错的html资源,但是苦于学习起来,不方便!于是小编就跟小丽保证,这点小事包在我身上。今天,小编就跟分享一下如何用Python把html资料变成pdf。

如今网上的在线学习资料可谓是多如牛毛,为了方便讲解,小编就利用python3.9.2的中文文档作为演示的例子,来将其抓取并保存到本地,其网页链接如下:

https://docs.python.org/zh-cn/3.9/tutorial/index.html

打开上述链接后,大家会在网页中找到不同内容的链接地址,包括了基础的python字符、python语法等内容。

在上图中,我们需要格外关注的是红色方格标注的链接,每个链接都会跳转到对应的子网页中,而在子网页中,就是我们想要保存的内容。

可以看到,上图中,在python速览子页面中,包含了我们需要提取的文字内容。所以将html内容保存为pdf的第一步便是获取到子页面的链接。由于教程大都是固定内容,因此对于教程的网页,大都采用的是静态页面,在网页源代码中可以很轻松地找到子页面的网页链接。

对于子网页的链接抓取,程序如下图所示:

程序中,通过BeautifulSoup库来解析网页源代码,然后提取所有的子页面链接地址并返回,如果抓取失败,则直接返回None

03.html转pdf

在得到子网页的链接后,接下来就是将html的子网页保存为pdf文件。小编使用的pdfkit库,pdfkit库可以将网页保存为pdf文档。首先小编来介绍一下pdfkit库的安装。

  • 下载https://github.com/wkhtmltopdf/packaging/releases/download/0.12.6-1/wkhtmltox-0.12.6-1.mxe-cross-win64.7z 并解压到本地文件中。(后台输入:pdf) 直接获取。
  • 将解压文件中的bin文件路径添加到系统变量Path中。
  • 执行pip install pdfkit
  • 执行pip install wkhtmltopdf

按照上述的操作流程,就可以安装pdfkit库。对于pdfkit库的使用,常见的用法有以下三种:

上面的程序主要完成以下几步:

首先需要指定wkhtmltopdf.exe文件的路径;

  • 然后分别通过from_url、from_file和from_string的三种方式来保存为pdf文件;
  • 需要注意的是,from_file和from_url中的第一个参数必须是一个html的字符串或者是html文档的列表;
  • 但是小编通过程序运行发现,from_url第一个参数只能是html的字符串,不能是html的列表

因此,pdfkit库只能将子网页保存为单独的pdf文档,无法直接通过pdfkit库将所有的子网页拼接成一个完整的pdf文档,小编通过PyPDF2库中的PdfFileMerger类来实现pdf文档的拼接。程序如下图所示。

程序中首先将所有的html网页保存为单独的pdf文档,然后通过PdfFileMerger类对象来实现pdf文档的拼接。最后就可以得到全部的pdf内容。最后我们通过视频的展示,来看一下程序的效果吧。

除此之外,程序不光可以抓取python3.9的中文文档,针对其他的在线文档,只需要对获取网页链接的程序进行修改即可抓取,例如对于Flask中文文档的抓取,程序只需要按照下图进行修改,即可将Flask的在线文档保存为PDF文档。

学习Python其实非常有趣,也很有用。因为Python有大量的现成的库,可以帮助我们把工作中的很多琐碎的烦事轻松解决。小编将上述的程序稍加修改,很快就帮阿丽搞定了教程,保存为pdf发送给了她,小编与女神的关系更拉近了一步

如何在浏览器账中查看网页的HTML源代码?

浏览html网页,查看其源代码,可以帮助我们了解该版网页的信息以及架构,每个浏览器都是允许用户查看他们访问的任何网页的HTML源代码的。以下编程狮小师妹就介绍几个常见浏览器的查看网页 HTML 源代码的方法。

方法一

要仅查看源代码,请按计算机键盘上的Ctrl+U。

方法二

右键单击网页的空白部分,然后从出现的弹出菜单中选择“查看网页源代码(V)”。

  1. 打开 Chrome 浏览器,然后浏览要查看其源代码的网页。
  2. 点击浏览器窗口右上角的“自定义及控制Google Chrome” 图标。
  3. 在出现的下拉菜单中,选择更多工具(L),然后选择开发者工具(D)(快捷键:Ctrl+Shift+I)。
  4. 单击屏幕底部出现的新部分左上角的“元素(Elements)”选项卡。

提示:

在 Chrome 中,按 F12Ctrl+ Shift+I 也会调出交互式开发人员工具。此工具提供了与源代码和 CSS 设置的更多交互,使用户可以查看代码中的更改如何立即影响网页。

方法一

要仅查看源代码,请按计算机键盘上的 Ctrl+U。

方法二

右键单击网页的空白部分,然后从出现的弹出菜单中选择“查看页面源代码(V)”。

  1. 打开 Firefox 并浏览您要查看其源代码的网页。
  2. 单击屏幕右上角的菜单 图标。
  3. 在下拉菜单中选择Web开发者,然后从展开的菜单中选择切换工具箱(快捷键:Ctrl+ Shift+I)。
  4. 单击显示在屏幕底部的部分左上角的“查看器”选项卡。

提示:

在 Firefox 中,按 F12 或 Ctrl+ Shift+I也会调出交互式开发人员工具。该工具提供了与源代码和 CSS 设置的交互,使用户可以实时查看代码中的更改如何影响网页。

  1. 突出显示网页中您要查看其源代码的部分。
  2. 右键单击突出显示的部分,然后选择检查元素(Q)

提示:

您可以使用 Firebug 附加组件查看和编辑页面的源代码,并通过浏览器实时查看更改。

方法一

要仅查看源代码,请按计算机键盘上的Ctrl+U。

方法二

右键单击网页的空白部分,然后从出现的弹出菜单中选择“查看页面源代码(V)”。

  1. 打开 Microsoft Edge 并浏览您要查看其源代码的网页。
  2. 点击屏幕右上角的设置和更多 图标。
  3. 将鼠标移到更多工具(L)在下拉菜单中,在展开的菜单选择开发人员工具(D)
  4. 单击屏幕右侧出现的窗口顶部的“元素(Elements)”选项卡。

提示:

在Microsoft Edge中,按F12或 Ctrl+ Shift+I 也会调出交互式开发人员工具。该工具提供了与源代码和 CSS 设置的交互,使用户可以实时查看代码中的更改如何影响网页。

方法一

要仅查看源代码,请按计算机键盘上的Ctrl+U。

方法二

右键单击网页的空白部分,然后从出现的弹出菜单中选择查看源(V)

  1. 打开 Internet Explorer 并浏览您要查看其源代码的网页。
  2. 单击右上角的工具
  3. 从下拉菜单中选择F12开发人员工具
  4. 单击开发人员工具菜单左上角的 DOM 资源管理器 选项卡。

提示:

在 Internet Explorer 中,按 F12 会弹出 DOM 工具。该工具提供了与源代码和 CSS 设置的交互,使用户可以查看代码中的更改如何立即影响网页。

方法一

要仅查看源代码,请按计算机键盘上的Ctrl+U。

方法二

右键单击网页的空白部分,然后从出现的弹出菜单中选择“查看网页源代码(V)”。

  1. 打开 360 安全浏览器,然后浏览要查看其源代码的网页。
  2. 点击浏览器窗口右上角的打开菜单图标。
  3. 在出现的下拉菜单中,选择更多工具(L),然后选择开发者工具(D)(快捷键:Ctrl+Shift+I)。
  4. 单击屏幕底部出现的新部分左上角的“元素(Elements)”选项卡。

提示:

在 360 安全浏览器中,按 F12Ctrl+ Shift+I 也会调出交互式开发者工具。此工具提供了与源代码和 CSS 设置的更多交互,使用户可以查看代码中的更改如何立即影响网页。

查看完网页上的源代码后,您可能想要退出或关闭它。关闭源代码取决于您用来打开源代码的方法。

  • 如果您使用了Ctrl+U 方法(Edge 除外)或右键单击方法,请关闭在浏览器窗口顶部打开的新选项卡
  • 如果您使用过开发人员方法(使用 F12 或Ctrl+ Shift+I),请再次按相同的键,或单击工具窗口右上角的图标。

除了使用浏览器外,还有一些在线工具可让您查看任何网页的源代码。这些工具可能会有所帮助,因为大多数工具都可以格式化,样式化和突出显示代码,以使其易于阅读。

以上就是编程狮W3Cschool为你整理的关于《如何在浏览器账中查看网页的HTML源代码?》的全部内容,希望对你有所帮助~

本文作者及来源:Renderbus瑞云渲染农场https://www.renderbus.com

点赞 0
收藏 0

文章为作者独立观点不代本网立场,未经允许不得转载。