使用python爬取教程生成PDF
2019独角兽企业重金招聘Python工程师标准>>>
工具准备
安装 wkhtmltopdf
在 https://wkhtmltopdf.org/downloads.html下载稳定版的 wkhtmltopdf 进行安装,安装完成之后把该程序的执行路径加入到系统环境 $PATH 变量中
第三方安装
pip install requests
pip install beautifulsoup4
pip install pdfkit
pip install wkhtmltopdf
实现分析
获取html
首先分析界面URL
第一页:http://www.runoob.com/python/python-exercise-example1.html 第二页:http://www.runoob.com/python/python-exercise-example2.html 第三页:http://www.runoob.com/python/python-exercise-example3.html
...
第一百页:http://www.runoob.com/python/python-exercise-example100.html 由此可以得出URL的规律
url = 'http://www.runoob.com/python/python-exercise-example' + str(i) + '.html' 其中i为1到一百的整数
分析页面的html获取爬取的内容
- 我们要获取到class =article-body,节点下的所有元素
- 爬取的python示例中编码里面都含有样式,为了按原来的格式展示这里还需要使用一个html模板
代码实现
def get_learn_py_content():"""解析URL,获取需要的html内容:return: htmls"""htmls = []# 渲染的html模板html_template = """<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><link rel="stylesheet" href="style.css" type="text/css" media="all"></head><body>{content}</body></html>"""for i in range(1,101):base_url = 'http://www.runoob.com/python/python-exercise-example' + str(i) + '.html'response = requests.get(base_url)soup = BeautifulSoup(response.content, 'html.parser')# 获取文档内容content = soup.find(class_='article-body')# 去除图片while soup.img:soup.img.decompose()html = html_template.format(content=content)html = html.encode("UTF-8")html_name = str(i)+".html"with open(html_name, 'wb') as f:f.write(html)htmls.append(html_name)return htmls
将HTML转换成PDF
将Html转换成PDF这里使用的是第三方的包pdfkit,直接将生成的HTML直接传入进来,在传入一个即将要用的PDF的文件名,就完成了
def save_pdf(htmls,name):"""把所有html文件转换成pdf文件"""# views视图中可以加上options进行页面布局调试 options = {'page-size': 'Letter','encoding': "UTF-8",'custom-header': [('Accept-Encoding', 'gzip')]}pdfkit.from_file(htmls, name, options=options)
转载于:https://my.oschina.net/hellotest/blog/2046470
使用python爬取教程生成PDF相关推荐
- python爬虫爬取pdf_Python 爬虫:爬取教程生成 PDF
作为一名程序员,经常要搜一些教程,有的教程是在线的,不提供离线版本,这就有些局限了.那么同样作为一名程序员,遇到问题就应该解决它,今天就来将在线教程保存为PDF以供查阅. 1.网站介绍 之前再搜资料的 ...
- python 爬取菜单生成菜谱,做饭买菜不用愁
前言 前几天小编在家当主厨,从买菜到端上桌的全部流程都有小编操办,想着就弄一些简单一些的菜,就没有多想,可当小编去到超市站在一堆菜的面前却不知所措了,看着花花绿绿,五颜六色的菜不知道买什么,做什么菜. ...
- python爬取数据生成词云_Python 爬取生成中文词云以爬取知乎用户属性为例
代码如下: # -*- coding:utf-8 -*- import requests import pandas as pd import time import matplotlib.pyplo ...
- python爬取歌词生成词云图_爬取毛不易歌词作词云展示
爬取毛不易歌词作词云展示 今天我们做一个数据可视化的项目,爬取毛不易的歌词做词云展示. 1.爬取数据 我们主要使用 Python 爬虫获取 HTML,用 XPath 对歌曲的 ID.名称进行解析,然后 ...
- 爬虫html转换成pdf,爬取html生成pdf
首先看了这篇文章前端使用puppeteer 爬虫生成<React.js 小书>PDF并合并,发现最后的pdf没有书签,很难受,所以主要在此基础上加了加书签的功能. 爬去的示例网站为Reac ...
- python浪漫文艺_文艺一把!Python爬取读者制作PDF!
2.[文件] getpdf.py ~ 3KB 下载(58) #!/usr/bin/env python #coding=utf-8 """ Author: Anemone ...
- 利用python可以做什么菜_python 爬取菜单生成菜谱,做饭买菜不用愁
前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者:木下瞳 转载:python 爬取菜单生成菜谱,做饭买菜不用愁mp. ...
- python制作pdf教程_学以致用:Python爬取廖大Python教程制作pdf!
学以致用:Python爬取廖大Python教程制作pdf! python-tutorial-pdf 当我学了廖大的Python教程后,感觉总得做点什么,正好自己想随时查阅,于是就开始有了制作PDF这个 ...
- 使用Python爬取CSDN历史博客文章列表,并生成目录
使用Python爬取CSDN历史博客文章列表,并生成目录 这篇博客将介绍如何使用Python爬取CSDN历史博客文章列表,并生成目录. 2020年 2020年04月 cv2.threshold() 阈 ...
最新文章
- 编码区和非编码区的关系
- 区别用户使用的终端设备代码 转 https://segmentfault.com/a/1190000012957023
- [洛谷P4705]玩游戏
- from html参数传到另外php文件中_在 PHP 中格式化并高亮 SQL 语句
- C++ STL快速入门
- 用Location对象和history对象修改页面url
- Qt 图形特效(Graphics Effect)介绍
- python1011无标题_讲解:Python:COMP1011 Programming For The WebPython
- SQL 安装在DC上的问题
- linuxftp文件服务器,linux ftp文件服务器
- DBA警世录:备份重于一切
- Java教程:Java定义字符串(2种方式)
- 定义一个Point类,派生出Circle类,计算各派生类对象的面积Area()
- Visual Studio 2012 Ultimate旗舰版序列号
- Angular 自定义loading组件
- Hibernate框架概述SSH框架工作原理以及流程
- LVGL (9) Event 机制实现
- php培训班学多久,学php最快要多久? 学习路线?要不要报培训班?
- Excel2003常用快捷键
- LCD vs LED vs OLED