python批量保存网页内容到PDF

         最近学某人给我提了一个需求,需要批量下载某网站的网页保存PDF中,对于熟悉python的大佬们,应该是一个很简单的任务了,今天想借助这个机会想通过这篇博客给小白们介绍一下如何利用python完成这个简单功能。

1.环境安装与配置

        需要完成这个功能,你首先需要下载一个Pycharm作为python的编译器,然后还需要Anaconda管理虚拟环境和python的一些包,如果使用的不多,Anaconda可以不装,改成安装简单的python解释器。具体Pycharm+Anaconda安装教程参考我的另一篇博客:Pycharm+Anaconda的python虚拟环境配置最详细教程_智能优化_数据分析_AI算法的博客-CSDN博客 

2.下载案例

2.1获得资源

        众多周知,我们上网的过程是在浏览器输入网址,然后网站的后台服务器返回给我们需要看的资源。python程序则是通过代码模拟request请求,然后将返回得到html资源内容通过筛选和解析得到我们需要的内容。通过以下两行代码,我们就可以模拟访问该网址,并获得其网站的详细内容,并转换成文本。

r=requests.get("https://www.court.gov.cn/shenpan-gengduo-77.html")
text = r.text

        在上述网站中,有诸多的指导案例,我们在访问列表网页的时候,列表中有很多具体案例的链接,我们需要从首页的html中利用正则表达式获取对应的资源的网址和文件名,然后依次访问每一个指导案例并将其保存下来。

然后我们还需要使用到BeautifulSoup工具,该工具可以配合正则化对html网页的代码进行查找和匹配,例如通过以下代码我们可以完成对title的选择。

soup = BeautifulSoup(text, "html.parser")
txt = soup.select('title')

2.2保存到pdf

将html格式的网页保存成pdf这里需要借助工具pdfkit,需要在python中安装这个包。然后还需要在安装wkhtmtopdf这个软件下载地址:wkhtmltopdf。然后在通过以下这行代码完成

pdfkit.from_url(url, save_path, configuration=config)

最终批量保存下来的文件如下所示:

打开后与原网站显示效果完全相同。

你可能感兴趣的:(python实用,python,pycharm,开发语言)