网页手机号抓取程序( 一下如何用Python把html资料变成pdf?(图))
优采云 发布时间: 2022-02-15 12:13网页手机号抓取程序(
一下如何用Python把html资料变成pdf?(图))
最近开学了,大家都在忙着准备各种学习资料,准备新学期努力学习,充实自己。小编身边的同学也是如此。最近,小编的同学小李遇到了一个非常棘手的问题。
她想在一个网页上打印一份学习Python的教程,让她自己学习,但是手动把几千页的教程一个一个转成pdf保存在本地,实在是太麻烦了。
这是将html转换为pdf的问题。其实网上有很多不错的html资源,但是学习起来不方便!于是小编向小李保证,这个小东西在我身上。今天小编就给大家分享一下如何使用Python将html数据转换成pdf。
01.爬取学习资料
如今,互联网上有很多在线学习资料。为了方便讲解,小编会以python3.9.2的中文文档为例,抓取并保存到本地。链接如下:
打开以上链接后,你会发现网页中不同内容的链接地址,包括基本的python字符、python语法等。
02.获取网页链接
在上图中,我们需要特别注意用红色方块标记的链接。每个链接都会跳转到对应的子页面,而在子页面中,就是我们要保存的内容。
可以看到,上图中,python快速查看子页面收录了我们需要提取的文本内容。所以将 html 内容保存为 pdf 的第一步是获取子页面的链接。由于大部分教程都是固定内容,所以教程网页大部分是静态页面,在网页源代码中很容易找到子页面的网页链接。
对于子页面的链接爬取,流程如下图所示:
程序中通过BeautifulSoup库解析网页源代码,然后提取所有子页面链接地址并返回。如果爬取失败,则直接返回None。
03.html转pdf
得到子页面的链接后,下一步就是将html子页面保存为pdf文件。小编使用的pdfkit库,pdfkit库可以将网页保存为pdf文档。首先介绍一下pdfkit库的安装。
按照上面的操作流程,就可以安装pdfkit库了。对于pdfkit库的使用,常见的三种用法:
上述程序主要完成以下步骤:
首先需要指定wkhtmltopdf.exe文件的路径;
因此,pdfkit库只能将子页面保存为单独的pdf文档,不能通过pdfkit库直接将所有子页面拼接成一个完整的pdf文档。小编使用PyPDF2库中的PdfFileMerger类来实现pdf文档的拼接。程序如下图所示。
程序首先将所有html网页保存为单独的pdf文档,然后通过PdfFileMerger类对象实现pdf文档的拼接。最后,您可以获得所有的pdf内容。最后,我们通过视频展示看一下程序的效果。
另外,该程序不仅可以爬取python3.9的中文文档,还可以爬取其他在线文档,只需要修改程序获取要爬取的网页链接,比如Flask中文文档的爬取,程序只需要按照下图进行修改,Flask的在线文档就可以保存为PDF文档了。
04.总结
学习 Python 实际上是非常有趣和有用的。因为 Python 拥有大量现成的库,可以帮助我们轻松解决工作中的许多琐碎问题。小编对上面的程序稍作修改,很快就帮阿里拿到了教程,保存为pdf发给她,小编和女神的关系更加亲密了。