用python实现csdn博主全部博文下载,html转pdf,有了学习的电子书了。。。(附源码)
我们学习编程,在学习的时候,会有想把有用的知识点保存下来,我们可以把知识点的内容爬下来转变成pdf格式,方便我们拿手机可以闲时翻看,是很方便的
先来一个单个的博文下载转pdf格式的操作
python中将html转化为pdf的常用工具是Wkhtmltopdf工具包,在python环境下,pdfkit是这个工具包的封装类。如何使用pdfkit以及如何配置呢?分如下几个步骤。
下载wkhtmltopdf安装包,并且安装到电脑上。
下载地址:https://wkhtmltopdf.org/downloads.html
我下的是这个版本,安装的时候要记住路径,之后调用要用到路径
开发工具
python
pycharm
pdfkit (pip install pdfkit)
lxml
今天目标:博主的全部博文下载,并且转pdf格式保存
基本思路:
1、url + headers
2、分析网页: 优快云网页是静态网页, 请求获取网页源代码
3、lxml解析获取boke_urls, author_name
4、循环遍历,得到 boke_url
5、xpath解析获取文件名
6、css选择器获取标签文本的主体
7、构造拼接html文件
8、保存html文件
9、文件的转换
分析网页: 优快云网页是静态网页, 请求获取网页源代码
start_url =“https://i1bit.blog.youkuaiyun.com/” 为例
确定网址为同步加载
css选择器获取标签文本的主体为代码要点部分
css语法部分
html_css = parsel.Selector(响应的数据)
html_content = html_css.css('要获取的部分').get()
点开博主的一篇博文打开开发者工具
# css选择器获取标签文本的主体
html_css = parsel.Selector(response_2)
html_content = html_css.css('article').get()
# 构造拼接html文件
html = \
'''
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
{}
</body>
</html>
'''.