python如何导出微信公众号文章方法详解


Posted in Python onAugust 31, 2020

python如何导出微信公众号文章方法详解

1.安装wkhtmltopdf

下载地址:https://wkhtmltopdf.org/downloads.html

我测试用的是windows的,下载安装后结果如下

python如何导出微信公众号文章方法详解

2 编写python 代码导出微信公众号文章

不能直接使用wkhtmltopdf 导出微信公众号文章,导出的文章会缺失图片,所以需要使用 wechatsogou 将微信公众号文章页面抓取,之后将html文本转化为pdf

pip install wechatsogou --upgrade

pip install pdfkit

踩坑!!!,看了很多人的代码,都是一个模板,大家都是抄来抄去,结果还是运行不了,可能是因为依赖包更新的原因,也可能是因为我本地没有配置wkhtmltopdf 的环境变量

import os
import pdfkit
import datetime
import wechatsogou
# 初始化API
ws_api = wechatsogou.WechatSogouAPI(captcha_break_time=3)
def url2pdf(url, title, targetPath):
 '''
 使用pdfkit生成pdf文件
 :param url: 文章url
 :param title: 文章标题
 :param targetPath: 存储pdf文件的路径
 '''
 try:
 content_info = ws_api.get_article_content(url)
 except:
 return False
 # 处理后的html
 html = f'''
{title}
 {content_info['content_html']}
 
 '''
 try:
 path_wk="E:/softwareAPP/wkhtmltopdf/bin/wkhtmltopdf.exe";
 config=pdfkit.configuration(wkhtmltopdf=path_wk)
 pdfkit.from_string(input=html, output_path=targetPath,configuration=config)
 except:
 # 部分文章标题含特殊字符,不能作为文件名
 filename = datetime.datetime.now().strftime('%Y%m%d%H%M%S') + '.pdf'
 pdfkit.from_string(html, targetPath + os.path.sep + filename)
 
if __name__ == '__main__':
 # 此处为要爬取公众号的名称
 url2pdf("https://mp.weixin.qq.com/s/wwT5n2JwEEAkrrmOhedziw", "HBase的系统架构全视角解读","G:/test/hbase文档.pdf" )
 # gzh_name = ''
 # # 如果不存在目标文件夹就进行创建
 # if not os.path.exists(targetPath):
 # os.makedirs(targetPath)
 # # 将该公众号最近10篇文章信息以字典形式返回
 # data = ws_api.get_gzh_article_by_history(gzh_name)
 # article_list = data['article']
 # for article in article_list:
 # url = article['content_url']
 # title = article['title']
 # url2pdf(url, title, targetPath)

到此这篇关于python如何导出微信公众号文章方法详解的文章就介绍到这了,更多相关python导出微信公众号文章内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Windows系统配置python脚本开机启动的3种方法分享
Mar 10 Python
python 截取 取出一部分的字符串方法
Mar 01 Python
Python3使用SMTP发送带附件邮件
Jun 16 Python
Python生成一个迭代器的实操方法
Jun 18 Python
Python高级特性 切片 迭代解析
Aug 23 Python
python修改FTP服务器上的文件名
Sep 11 Python
Python3运算符常见用法分析
Feb 14 Python
Python HTTP下载文件并显示下载进度条功能的实现
Apr 02 Python
python 装饰器的实际作用有哪些
Sep 07 Python
python 监控服务器是否有人远程登录(详细思路+代码)
Dec 18 Python
python palywright库基本使用
Jan 21 Python
Python答题卡识别并给出分数的实现代码
Jun 22 Python
Python生成并下载文件后端代码实例
Aug 31 #Python
python exit出错原因整理
Aug 31 #Python
Python如何将模块打包并发布
Aug 30 #Python
如何以Winsows Service方式运行JupyterLab
Aug 30 #Python
selenium切换标签页解决get超时问题的完整代码
Aug 30 #Python
五分钟带你搞懂python 迭代器与生成器
Aug 30 #Python
python开根号实例讲解
Aug 30 #Python
You might like
php下使用以下代码连接并测试
2008/04/09 PHP
php中将字符串转为HTML的实体引用的一个类
2013/02/03 PHP
php加速器eAccelerator的配置参数、API详解
2014/05/05 PHP
以文件形式缓存php变量的方法
2015/06/26 PHP
PHP+sqlite数据库操作示例(创建/打开/插入/检索)
2016/05/26 PHP
laravel 时间格式转时间戳的例子
2019/10/11 PHP
修改jQuery.Autocomplete插件 支持中文输入法 避免TAB、ENTER键失效、导致表单提交
2009/10/11 Javascript
javascript cookie操作类的实现代码小结附使用方法
2010/06/02 Javascript
jquery 利用show和hidden实现级联菜单示例代码
2013/08/09 Javascript
jQuery中验证表单提交方式及序列化表单内容的实现
2014/01/06 Javascript
JS获取地址栏参数的几种方法小结
2014/02/28 Javascript
JavaScript计时器示例分析
2015/02/05 Javascript
原生js编写autoComplete插件
2016/04/13 Javascript
详解JS中的this、apply、call、bind(经典面试题)
2017/09/19 Javascript
让网站自动生成章节目录索引的多个js代码
2018/01/07 Javascript
Vue Socket.io源码解读
2018/02/07 Javascript
node.js部署之启动后台运行forever的方法
2018/05/23 Javascript
vue数据操作之点击事件实现num加减功能示例
2019/01/19 Javascript
vue日历/日程提醒/html5本地缓存功能
2019/09/02 Javascript
layer实现登录弹框,登录成功后关闭弹框并调用父窗口的例子
2019/09/11 Javascript
python中的print()输出
2019/04/12 Python
Python 占位符的使用方法详解
2019/07/10 Python
从numpy数组中取出满足条件的元素示例
2019/11/26 Python
HTML5之SVG 2D入门12—SVG DOM及DOM操作介绍
2013/01/30 HTML / CSS
Nebula美国官网:便携式投影仪
2019/03/15 全球购物
正宗的日本零食和糖果订阅盒:Bokksu
2019/11/21 全球购物
final, finally, finalize的区别
2012/03/01 面试题
2013年办公室秘书的个人自我鉴定
2013/10/24 职场文书
行政管理专业推荐信
2013/11/02 职场文书
自我鉴定 电子商务专业
2014/01/30 职场文书
科技开发中心办公室主任岗位责任制
2014/02/10 职场文书
《陈涉世家》教学反思
2014/04/12 职场文书
企业人事任命书
2014/06/05 职场文书
电子信息工程专业求职信
2014/06/28 职场文书
党性分析材料格式
2014/12/19 职场文书
讲文明倡议书
2015/04/29 职场文书