上期提到了如何获取公众号文章信息,这回就说下怎么将网页转为PDF,方便日常学习。html

而后扩散一下以前一个比赛的结果(华章计算机抖音大赛)。数据库

顺便谈谈本身对从此送书的一个想法。微信

另外以前的送书活动,有中奖的读者没有联系我,因此这回一并送出。app

明天还会送两本书,你们也能够关注一下。ide

/ 01 / HTML转PDF学习

主要用到的库有pdfkit及wkhtmltopdf。url

安装我就不说了,网上也是一堆教程,经过下面的代码也能略知一二。spa

须要注意的点就是,把网页转PDF的时候,须要将网页的图片下载下来,保存在本地。orm

而后生成网页时调用本地的图片,这样就不会出如今PDF中图片缺失的状况。htm

本次没有去设置详细的PDF参数,因此生成的PDF排版并非很友好,不过仍是能凑合看的。

具体转换代码以下。

import pandas as pd

import requests

import pdfkit

import os

import re

# 读取数据并清洗

df = pd.read_csv('article.csv', header=None, names=['title', 'digest', 'article_url', 'date'], encoding='gbk')

df['date'] = pd.to_datetime(df.date.values, unit='s', utc=True).tz_convert('Asia/Shanghai')

df_date = df['date'].astype(str).str.split(' ', expand=True)

df['day'] = df_date[0]

# 获取目录的绝对路径

fileDir = os.path.abspath(os.path.dirname('F:\\article_pdf'))

headers = {

"User-Agent": "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.95 Safari/537.36 MicroMessenger/6.5.2.501 NetType/WIFI WindowsWechat QBCore/3.43.901.400 QQBrowser/9.0.2524.400",

}

proxies = {

"https": None,

"http": None,

}

# 设置转PDF参数

options = {

"page-size": "Letter",

"encoding": "UTF-8",

"custom-header": [

("Accept-Encoding", "gzip")

]

}

# 调用wkhtmltopdf

# confg = pdfkit.configuration(wkhtmltopdf=r"C:\Users\Administrator\wkhtmltox-0.12.5-1.mxe-cross-win64\wkhtmltox\bin\wkhtmltopdf.exe")

for title, url, date in zip(df['title'], df['article_url'], df['day']):

print(title, url, date)

# 替换特殊符号

title = re.sub('[\/::*?"<>|]', '', title)

title = title.replace('\\', '_')

# html文件名

html_name = '{}/{}.html'.format('F:\\article_pdf', date + '_' + title)

res = requests.get(url, headers=headers, proxies=proxies, timeout=3)

html = res.text

# 用?来控制正则贪婪和非贪婪匹配;(.*?) 小括号来控制是否包含匹配的关键字

pattern = re.compile(r'data-src=\"http.*?\"')

result = pattern.findall(html)

picCnt = 0

for i in result:

picCnt = picCnt + 1

url = re.findall(r'\"(.*?)\"', i)[0]

# 图片名

picture_name = '{}/{}.png'.format('F:\\article_pdf', str(picCnt))

# 调用本地图片

html = html.replace(url, picture_name)

# 获取图片内容

r = requests.get(url)

with open(picture_name, "wb+") as f:

f.write(r.content)

# 保存html文件

html = html.replace('data-src', 'src')

fd = open(html_name, 'w', encoding="utf-8")

fd.write(html)

fd.close()

pdf_name = '{}/{}.pdf'.format('F:\\article_pdf', date + '_' + title)

try:

# html转pdf

pdfkit.from_file(html_name, pdf_name, options=options)

except:

pass

最后成功生成全部文章的PDF。

这里不知是为什么,生成PDF的时间挺长的,平均一个PDF耗时三分钟。

/ 02 / 比赛结果

以前公众号对华章计算机抖音大赛进行了推广,在上个礼拜比赛的结果也出来了。

这里帮出版社扩散一下比赛结果。

华章计算机抖音大赛比赛结果

固然我也参加了,并且也获奖了,不过是参与奖,四本书。

活动参与的人并很少,一共应该就只有8我的参赛。

讲道理,900元现金以及30本书,这么丰厚的奖品,活动却没多少人参加,这值得沉思。

固然还会有第二届,届时我还会帮忙宣传,这回没有参加的小伙伴,下回必定要抓住机会。

为何我会继续支持呢?这应该源于我以前参加的一个PPT比赛。

至今,我还留存着参与活动后的那本赠书。

书很不错,我也从中学到了很多东西。

固然最重要的是动手就有收获的道理。

种一棵树最好的时间是十年前,其次是如今。因此行动起来,绝对没错。

从此的送书活动,若是条件容许的话,也将会以一些小比赛的形式送出,敬请期待。

/ 03 /  送书

下面应该是上个礼拜的截图了,姑且就以此做为参照。

以上的读者,若是对下面这本书有兴趣的话。

能够微信联系我,先到先得,就一本。

微信联系方式能够在公众号菜单栏里找到。

一本有关Oracle数据库的书。

明天送的两本是有关Python数据分析的书,能够关注一下。

/ 04 / 总结

两期的文章代码已上传「GitHub」。

点击左下角阅读原文,便可获取。

万水千山老是情,点个「在看」行不行。

python将html存为pdf_用Python将HTML转为PDF。相关推荐

  1. python将html存为pdf_使用Python将HTML转成PDF

    主要使用的是wkhtmltopdf的Python封装--pdfkit 安装 1. Install python-pdfkit: $ pip install pdfkit 2. Install wkht ...

  2. python程序设计与科学计算pdf_用Python做科学计算 pdf版

    本书将介绍如何用Python开发科学计算的应用程序,除了介绍数值计算之外,我们还将着重介绍如何制作交互式的2D.3D图像:如何设计精巧的程序界面:如何和C语言所编写的高速计算程序结合:如何编写声音.图 ...

  3. python数据挖掘与分析实战pdf_《Python数据分析与挖掘实战》PDF+完整源码

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 本书共15章,分两个部分:基础篇.实战篇.基础篇介绍了数据挖掘的基本原理,实战篇介绍了一个个真实案例,通过对案例深入浅出的剖析,使读者在不知不觉中通过案例 ...

  4. python数据分析与挖掘实战pdf_《Python数据分析与挖掘实战》PDF+完整源码

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 本书共15章,分两个部分:基础篇.实战篇.基础篇介绍了数据挖掘的基本原理,实战篇介绍了一个个真实案例,通过对案例深入浅出的剖析,使读者在不知不觉中通过案例 ...

  5. python基础实例 韦玮 pdf_精通Python网络爬虫 核心技术、框架与项目实战 作者:韦玮PDF...

    文件目录: 书本介绍: 书名 精通Python网络爬虫:核心技术.框架与项目实战 作者 韦玮著 出版社 机械工业出版社 出版日期 2017 内容简介 本书从系统化的视角,为那些想学习Python网络爬 ...

  6. python 将xls、xlsx、doc、docx文件转为pdf

    这个主要参照 https://docs.microsoft.com/zh-cn/dotnet/api/microsoft.office.tools.excel.worksheet.pagesetup? ...

  7. Python官方软件包存储库成恶意软件大本营?

    整理 | Carol 出品 | CSDN(ID:CSDNnews) 相信下载并使用开源软件包一定是每个开发者的必备技能,毕竟站在巨人的肩膀上看风景才能看得最远,然而,你使用的开源代码一定是安全的吗? ...

  8. python查看显存占用情况以及使用numba.cuda释放显存

    一.python查看显存占用情况 # pip install pynvml def nvidia_info():nvidia_dict = {"state": True," ...

  9. python前程无忧scrapy存mogondb案例+可视化显示

    一.介绍 python前程无忧scrapy存mogondb案例 接上篇前程无忧案例:spiders和item文件有稍加改动,这里先行奉上啦! 项目结构图: 岗位工资对比 岗位数显示 岗位职责词云 sp ...

最新文章

  1. Centos-6.7下_Oracle 11gR2静默详细安装过程及排错
  2. WinCE上BINFS实现详解
  3. JPopupMenu的简单使用
  4. indexes和indices的区别(下标)
  5. “尽快成立国家级权威信息安全部门”
  6. psychopy 音频时长代码_PsychoPy入门_03_视频和音频的呈现
  7. click vue 重复调用_VUE防止多次点击,重复请求
  8. python语言发明者 google_看看9种编程语言的发明者是怎么说的
  9. 利用JavaScript实现简单的下拉菜单
  10. 全排列及相关扩展算法(二)——求字典序下一组排列及全排列算法
  11. 说透Applet的数字签名之2——数字签名
  12. 塑料浮船坞行业调研报告 - 市场现状分析与发展前景预测
  13. OracleSpatial函数实例
  14. CSS最基础的语法和三种引入方式
  15. 激光SLAM之Cartographer源码解析视频课程
  16. 彻底放弃没落的MFC,对新人的忠告! by FreeWick
  17. 从百度指数到微信指数,我们正进入“数据世界”
  18. 与计算机相关的潜在健康风险是什么,医疗安全与风险管理.新.ppt
  19. Java中多态的表现形式
  20. ABP框架—后台:后台程序发布至IIS(6)

热门文章

  1. 适用于微服务架构的Apache Camel
  2. 可怕的DefaultAbstractHelperImpl
  3. Flume:使用Apache Flume收集客户产品搜索点击数据
  4. 在MySQL数据库上使用Quartz Scheduler入门
  5. Apache Shiro第1部分–基础
  6. Aleri –复杂事件处理
  7. 使用JAXB从XSD生成XML
  8. python open读取_python,一读取文件open()
  9. MySQL数据库修改用户登录密码的三种方式
  10. 【H.264/AVC视频编解码技术】第六章【指数哥伦布编码】