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 26进制计算实现方法
May 28 Python
Python中在for循环中嵌套使用if和else语句的技巧
Jun 20 Python
python的格式化输出(format,%)实例详解
Jun 01 Python
Python简单过滤字母和数字的方法小结
Jan 09 Python
python验证身份证信息实例代码
May 06 Python
python对象与json相互转换的方法
May 07 Python
Django获取应用下的所有models的例子
Aug 30 Python
在django中使用post方法时,需要增加csrftoken的例子
Mar 13 Python
python pandas利用fillna方法实现部分自动填充功能
Mar 16 Python
python开发实例之Python的Twisted框架中Deferred对象的详细用法与实例
Mar 19 Python
Pyspark获取并处理RDD数据代码实例
Mar 27 Python
如何用六步教会你使用python爬虫爬取数据
Apr 06 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判断文章里是否有图片的简单方法
2014/07/26 PHP
WordPress中使主题支持小工具以及添加插件启用函数
2015/12/22 PHP
yii,CI,yaf框架+smarty模板使用方法
2015/12/29 PHP
PHP回调函数与匿名函数实例详解
2017/08/16 PHP
PHP常见的序列化与反序列化操作实例分析
2019/10/28 PHP
关于Anemometer图形化显示MySQL慢日志的工具搭建及使用的详细介绍
2020/07/13 PHP
WordPress免插件实现面包屑导航的示例代码
2020/08/20 PHP
javascript检查表单数据是否改变的方法
2013/07/30 Javascript
js实现弹出窗口、页面变成灰色并不可操作的例子分享
2014/05/10 Javascript
JavaScript实现大数的运算
2014/11/24 Javascript
基于jquery实现一个滚动的分步注册向导-附源码
2015/08/26 Javascript
JavaScript基于replace+正则实现ES6的字符串模版功能
2017/04/25 Javascript
JavaScript设计模式之策略模式详解
2017/06/09 Javascript
Angularjs在360兼容模式下取数据缓存问题的解决办法
2017/06/22 Javascript
详解vue-cli 接口代理配置
2017/12/13 Javascript
vuex 实现getter值赋值给vue组件里的data示例
2019/11/05 Javascript
原生js实现二级联动菜单
2019/11/27 Javascript
javascript实现画板功能
2020/04/12 Javascript
vue-socket.io接收不到数据问题的解决方法
2020/05/13 Javascript
pip安装时ReadTimeoutError的解决方法
2018/06/12 Python
python实现WebSocket服务端过程解析
2019/10/18 Python
Python 实现try重新执行
2019/12/21 Python
CSS3教程(8):CSS3透明度指南
2009/04/02 HTML / CSS
加拿大鞋子连锁店:Town Shoes
2016/09/26 全球购物
英国著名书店:Foyles
2018/12/01 全球购物
切尔西足球俱乐部官方网上商店:Chelsea FC
2019/06/17 全球购物
春风行动实施方案
2014/03/28 职场文书
让生命充满爱演讲稿
2014/05/10 职场文书
会计学自荐信
2014/06/03 职场文书
营销总监岗位职责
2014/09/16 职场文书
2015年师德师风承诺书
2015/01/22 职场文书
管辖权异议上诉状
2015/05/23 职场文书
爱国电影观后感
2015/06/19 职场文书
运动会800米赞词
2015/07/22 职场文书
学生会任命书范本
2015/09/21 职场文书
赞美教师的句子
2019/09/02 职场文书