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 相关文章推荐
python+selenium+autoit实现文件上传功能
Aug 23 Python
Python解决线性代数问题之矩阵的初等变换方法
Dec 12 Python
Python函数中参数是传递值还是引用详解
Jul 02 Python
python3 map函数和filter函数详解
Aug 26 Python
Django项目基础配置和基本使用过程解析
Nov 25 Python
Pytorch 计算误判率,计算准确率,计算召回率的例子
Jan 18 Python
python实现批量修改文件名
Mar 23 Python
Django框架配置mysql数据库实现过程
Apr 22 Python
Tensorflow卷积实现原理+手写python代码实现卷积教程
May 22 Python
Python selenium爬取微博数据代码实例
May 22 Python
ITK 实现多张图像转成单个nii.gz或mha文件案例
Jul 01 Python
python文件排序的方法总结
Sep 13 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判断文件是否存在、是否可读、目录是否存在的代码
2012/10/03 PHP
解析PHP可变函数的经典用法
2013/06/20 PHP
linux系统下php安装mbstring扩展的二种方法
2014/01/20 PHP
PHP Ajax实现无刷新附件上传
2016/08/17 PHP
Laravel 5.4前后台分离,通过不同的二级域名访问方法
2019/10/13 PHP
帮助避免错误的Javascript陷阱清单
2009/05/31 Javascript
node.js中的events.emitter.removeAllListeners方法使用说明
2014/12/10 Javascript
jQuery中:empty选择器用法实例
2014/12/30 Javascript
js获取微信版本号的方法
2015/05/12 Javascript
js实现拉幕效果的广告代码
2015/09/02 Javascript
jQuery+ajax+asp.net获取Json值的方法
2016/06/08 Javascript
关于angularJs指令的Scope(作用域)介绍
2016/10/25 Javascript
原生JS实现图片轮播切换效果
2016/12/15 Javascript
微信小程序 限制1M的瘦身技巧与方法详解
2017/01/06 Javascript
浅谈Vue Element中Select下拉框选取值的问题
2018/03/01 Javascript
图文讲解vue的v-if使用方法
2019/02/11 Javascript
详解使用React.memo()来优化函数组件的性能
2019/03/19 Javascript
vue使用localStorage保存登录信息 适用于移动端、PC端
2019/05/27 Javascript
用Python制作检测Linux运行信息的工具的教程
2015/04/01 Python
Python实现大文件排序的方法
2015/07/10 Python
Python中time模块与datetime模块在使用中的不同之处
2015/11/24 Python
Python中二维列表如何获取子区域元素的组成
2017/01/19 Python
Python简单删除列表中相同元素的方法示例
2017/06/12 Python
对python使用http、https代理的实例讲解
2018/05/07 Python
对Python实现简单的API接口实例讲解
2018/12/10 Python
Python实现将通信达.day文件读取为DataFrame
2018/12/22 Python
pandas如何处理缺失值
2019/07/31 Python
python 字符串常用函数详解
2019/09/11 Python
Python加速程序运行的方法
2020/07/29 Python
python实现canny边缘检测
2020/09/14 Python
Python: glob匹配文件的操作
2020/12/11 Python
采购求职信
2014/03/17 职场文书
小学生安全演讲稿
2014/04/25 职场文书
小学社会实践活动总结
2014/07/03 职场文书
挂职学习心得体会
2014/09/09 职场文书
2014年后勤工作总结范文
2014/12/16 职场文书