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 相关文章推荐
php使用递归与迭代实现快速排序示例
Jan 23 Python
python单元测试unittest实例详解
May 11 Python
python实现搜索本地文件信息写入文件的方法
Feb 22 Python
Python实现的选择排序算法示例
Nov 29 Python
python爬虫之自动登录与验证码识别
Jun 15 Python
想学python 这5本书籍你必看!
Dec 11 Python
Python 50行爬虫抓取并处理图灵书目过程详解
Sep 20 Python
Python图像处理库PIL的ImageDraw模块介绍详解
Feb 26 Python
Pycharm最常用的快捷键及使用技巧
Mar 05 Python
使用python实现飞机大战游戏
Mar 23 Python
基于Keras中Conv1D和Conv2D的区别说明
Jun 19 Python
Python中BeautifulSoup通过查找Id获取元素信息
Dec 07 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
网站防止被刷票的一些思路与方法
2015/01/08 PHP
Laravel5中contracts详解
2015/03/02 PHP
PHP获取文件夹内文件数的方法
2015/03/12 PHP
PHP中常见的缓存技术实例分析
2015/09/23 PHP
PHP中error_reporting函数用法详细介绍
2017/06/11 PHP
IE与firefox下Dhtml的一些区别小结
2009/12/02 Javascript
js计算字符串长度包含的中文是utf8格式
2013/10/15 Javascript
css3元素简单的闪烁效果实现(html5 jquery)
2013/12/28 Javascript
node.js使用require()函数加载模块
2014/11/26 Javascript
轻松创建nodejs服务器(5):事件处理程序
2014/12/18 NodeJs
Node.js中调用mysql存储过程示例
2014/12/20 Javascript
jQuery插件pagination实现无刷新分页
2016/05/21 Javascript
Ajax分页插件Pagination从前台jQuery到后端java总结
2016/07/22 Javascript
AngularJS实现DOM元素的显示与隐藏功能
2016/11/22 Javascript
值得分享的Bootstrap Table使用教程
2016/11/23 Javascript
jq源码解析之绑在$,jQuery上面的方法(实例讲解)
2017/10/13 jQuery
jquery学习笔记之无new构建详解
2017/12/07 jQuery
对vue下点击事件传参和不传参的区别详解
2018/09/15 Javascript
[03:42]2014DOTA2西雅图国际邀请赛 Navi战队巡礼
2014/07/07 DOTA
[52:00]2018DOTA2亚洲邀请赛 4.1 小组赛 A组加赛 LGD vs Optic
2018/04/02 DOTA
Python中使用partial改变方法默认参数实例
2015/04/28 Python
python读写csv文件方法详细总结
2019/07/05 Python
分享一个pycharm专业版安装的永久使用方法
2019/09/24 Python
python学生管理系统的实现
2020/04/05 Python
Python通过递归函数输出嵌套列表元素
2020/10/15 Python
Groupon西班牙官方网站:在线优惠券和交易,节省高达70%
2021/03/13 全球购物
小学语文国培感言
2014/03/04 职场文书
班组长竞聘书
2014/03/31 职场文书
商务日语专业自荐信
2014/04/17 职场文书
四年级学生评语大全
2014/04/21 职场文书
党员干部对十八届四中全会的期盼
2014/10/17 职场文书
涉外离婚协议书怎么写
2014/11/20 职场文书
国庆庆典邀请函
2015/02/02 职场文书
任长霞观后感
2015/06/16 职场文书
基于Python的EasyGUI学习实践
2021/05/07 Python
详解redis分布式锁的这些坑
2021/05/19 Redis