【Python】将微信收藏的文章批量导出为pdf
【Python】将微信收藏的文章批量导出为pdf
- 第一步:导出微信收藏的链接
- 第二步:将所有网址导出为pdf
写在前面
微信收藏了大量的文章,一直没时间看。乘飞机或火车时有闲暇时间但网络不行。本文提供了一种基于python的将微信收藏的公众号推文批量导出为pdf的方法,方便在平板等移动设备离线阅读。
第一步:导出微信收藏的链接
这一步我并没有找到一键导出的办法,选择的方法是:
先将所有要导出的推文批量多选,并分享给好友或者文件传输助手;
然后在聊天界面多选并使用邮箱发送;
可以发送给自己的其他邮箱。邮件的内容便包含了每篇文章的标题的网址;
将邮件内容粘贴保存为.txt格式,编码类型为ANSI。
第二步:将所有网址导出为pdf
pdf文件名即微信推文标题,部分特殊字符进行了替换。此方法仅适用于微信推文,筛除了不是微信推文的链接。
代码:
import pdfkit
import requests
import os
import re
from bs4 import BeautifulSoup# set the font style
font = '''<style type="text/css">@font-face{font-family: "微软雅黑";src:url("C:\\Windows\\Fonts\\msyh.ttc")</style><style type = "text/css">p { font-family: '微软雅黑', cursive;}</style>'''
# 选项
options = {'page-size': 'A6',
# 'margin-top': '0.75in',
# 'margin-right': '0.75in',
# 'margin-bottom': '0.75in',
# 'margin-left': '0.75in','encoding': "UTF-8",
# 'custom-header': headers,
# 'debug-javascript': [''],
# 'javascript-delay': 10000,
# 'no-stop-slow-scripts': "",
# 'load-media-error-handling': 'abort',} path_wkthmltopdf = r'C:\Program Files\wkhtmltopdf\bin\wkhtmltopdf.exe'
config = pdfkit.configuration(wkhtmltopdf=path_wkthmltopdf)# 替换特殊字符
def validate_title(title):rstr = r"[\/\\\:\*\?\"\<\>\|]" # '/ \ : * ? " < > |'new_title = re.sub(rstr, "_", title) # 替换为下划线new_title = new_title.replace(':',' _')new_title = new_title.replace('?','_')return new_titlef = open("E:\\user\\Desktop\\wechat\\url.txt") # 返回一个文件对象
line = f.readline()
while line:if line[0]=='[':# 读取网址和标题line2 = line[1:-2]urls = line2.split(' : ')url = urls[-1]title = ''.join(urls[0:-1])title = validate_title(title)if url.find('mp.weixin.qq.com') > 0:res = requests.get(url)# data-src替换为src 有时候返回的正文被隐藏了,将hidden去掉html = res.text.replace("data-src", "src").replace('style="visibility: hidden;"',"")soup = BeautifulSoup(html)# 选择正文(去除javascrapt等)html = soup.select('div#img-content')[0]# html_str = str(html)# i = 0# title = html_str.splitlines()[i]# while title[0] == '<' or title.isspace():# i = i+1# title = html_str.splitlines()[i]# title = title.replace('|','-') # 将字符串里的k全部替换为8# 修改字体html = font + str(html)output = title+'.pdf'pdfkit.from_string(str(html), output, configuration=config, options=options)else:print(title)line = f.readline()
f.close
代码主要参考了【实战】Python将微信文章保存为PDF,使用的是 “wkhtmltopdf” 命令行工具,下载地址:https://wkhtmltopdf.org/downloads.html。
在11寸左右的平板上阅读的话,实测将页面保存为A6是比较合适的,可以在options里设置,具体参数参考Paper Sizes。
在读取txt文档时,参考了一些操作关于python的方法文章,具体如下:
- python逐行读取文本
- python字符串截取、查找、分割
- Python3 读取字符串的第一行
- Python拼接字符串的7种方法总结
- python字符串去掉特殊符号
- Python-替换或去除不能用于文件名的字符
【Python】将微信收藏的文章批量导出为pdf相关推荐
- 如何做一个微信公众号文章批量导出的下载器
作为一名自媒体编辑,我一直密切关注许多文章中写的非常好的公众号文章,每次我都会学习他们的写作方法和思维方式.然而,每当我集中精力学习时,在手机上逐个检查带有文章的链接就更麻烦了.这是一个头痛的问题,我 ...
- 【微信采集助手】Python Tkinter 微信公众号文章批量采集工具
现如今大部分优质内容都是闭环的,都在移动端,app端,或者百度都无法搜录到,比如微信公众号文章内容,而且这些地方还存在着比较高质量的内容,大部分人都有着这方面的采集需求! 其实前面本渣渣已经写过了一篇 ...
- python下载微信公众号文章_python如何导出微信公众号文章
[相关学习推荐:python教程] 1.安装wkhtmltopdf 下载地址:https://wkhtmltopdf.org/downloads.html 我测试用的是windows的,下载安装后结果 ...
- python下载微信公众号文章_python如何导出微信公众号文章方法详解
1.安装wkhtmltopdf 下载地址:https://wkhtmltopdf.org/downloads.html 我测试用的是windows的,下载安装后结果如下 2 编写python 代码导出 ...
- python写微信公众号文章_python如何导出微信公众号文章
[] 1.安装wkhtmltopdf 下载地址:https://wkhtmltopdf.org/downloads.html 我测试用的是windows的,下载安装后结果如下 2 编写python 代 ...
- 微信公众号文章批量保存到本地的方法
其他不多说,直接入主题,目前比较常见的保存微信文章的方法有以下几种,简要分析如下: 1. 手动保存 微信登陆电脑客户端,用自带浏览器打开微信公众号文章,然后选择,复制,粘贴到Word里,进行保存. 这 ...
- ai怎样导出所选部分_Illustrator(AI)选定对象批量导出jpg/pdf脚本插件(win/mac)...
Illustrator(AI)选定对象批量导出jpg/pdf脚本插件(win/mac) 书法字体2020.12.31ai脚本 早前亿品元素给大家分享过一款AI批量导图(jpg/png/svg/pdf) ...
- 最新微信公众号文章数据导出软件工具
相信大家经常都会使用微信软件,对于微信公众号都不陌生,有很多人都会经常阅读公众号的文章.下面集宝数据就给大家说说如何找到好用的微信公众号文章采集器? 如何找到好用的微信公众号文章采集器 第一步:首先, ...
- Python自动化办公:将Excel表格内容批量导出为PDF文件
Python自动处理Excel表格数据 序言 代码实现 序言 上一篇咱们实现了多个表格数据合并到一个表格,本次咱们来学习如何将表格数据分开导出为PDF文件. 部分数据 然后需要安装一下这个软件 wkh ...
最新文章
- 第二篇:n-gram 语言模型
- HDU 3934 Summer holiday(凸包内接最大三角形)
- 【OS学习笔记】十七 保护模式五:保护模式下如何进行内存保护 与 别名段的意义与作用
- SAP License:MM中的几个概念
- 一个关于 客户端非法取消正在进行的数据提交操作 的问题 的讨论
- 计算机网络学习笔记(27. Email应用概述)
- Xcode连接git@osc
- 微软超融合私有云测试02-测试架构描述
- HTTP权威指南—基础部分
- ppt大小如何压缩,ppt压缩方法
- 0《数学之美》作者、赞誉、说明、序言、前言
- C语言--[Error] stray '\237' in program--解决方案。
- mac 远程控制android,允许Mac用户使用其Android设备远程控制其Mac媒体
- SI5351A的信号发生器驱动程序
- 字符串到字节数组和字节数组到字符串的转换(编码和解码问题)
- 九章云极发布YLearn因果学习开源项目;字节跳动大量招聘芯片工程师;苹果被俄法院罚款约21.6万元 | 每日大事件...
- 【学习小记】常系数齐次线性递推
- 杰理之使用 mic_rec_play_start()测试 mic 无声的解决方法【篇】
- C语言之__attribute__((visibility(“default“)))等gcc flag讲解(六十二)
- 支付宝生活号对接-----(一)授权