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中使用第三方模块的教程
Apr 27 Python
Python检测字符串中是否包含某字符集合中的字符
May 21 Python
Python实现动态添加属性和方法操作示例
Jul 25 Python
使用Python如何测试InnoDB与MyISAM的读写性能
Sep 18 Python
详解django中使用定时任务的方法
Sep 27 Python
python版大富翁源代码分享
Nov 19 Python
使用python3实现操作串口详解
Jan 01 Python
PyCharm导入python项目并配置虚拟环境的教程详解
Oct 13 Python
python实现批量文件重命名
Oct 31 Python
wxpython+pymysql实现用户登陆功能
Nov 19 Python
python实现数据清洗(缺失值与异常值处理)
Dec 02 Python
python小程序基于Jupyter实现天气查询的方法
Mar 27 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动态页生成静态页的3种常用方法
2014/11/13 PHP
php实现excel中rank函数功能的方法
2015/01/20 PHP
Opcache导致php-fpm崩溃nginx返回502
2015/03/02 PHP
PHP对象实例化单例方法
2017/01/19 PHP
php实现的统计字数函数定义与使用示例
2017/07/26 PHP
postman的安装与使用方法(模拟Get和Post请求)
2018/08/06 PHP
通用于ie和firefox的函数 GetCurrentStyle (obj, prop)
2006/12/27 Javascript
jquery图片延迟加载 前端开发技能必备系列
2012/06/18 Javascript
JavaScript模拟可展开、拖动与关闭的聊天窗口实例
2015/05/12 Javascript
实例讲解jquery中mouseleave和mouseout的区别
2016/02/17 Javascript
Jquery调用iframe父页面中的元素及方法
2016/08/23 Javascript
javascript中href和replace的比较(详解)
2016/11/25 Javascript
浅析bootstrap原理及优缺点
2017/03/19 Javascript
如何使用Bootstrap创建表单
2017/03/29 Javascript
Node.js+jade+mongodb+mongoose实现爬虫分离入库与生成静态文件的方法
2017/09/20 Javascript
微信小程序实现折叠展开效果
2018/07/19 Javascript
vue组件实践之可搜索下拉框功能
2018/11/25 Javascript
详解vue2.6插槽更新v-slot用法总结
2019/03/09 Javascript
ES6 Promise对象的含义和基本用法分析
2019/06/14 Javascript
解决vue addRoutes不生效问题
2020/08/04 Javascript
解决vue-router路由拦截造成死循环问题
2020/08/05 Javascript
Vue v-for中的 input 或 select的值发生改变时触发事件操作
2020/08/31 Javascript
[56:00]2018DOTA2亚洲邀请赛 4.6 淘汰赛 VP vs TNC 第二场
2018/04/10 DOTA
Python 逐行分割大txt文件的方法
2017/10/10 Python
python 创建一个空dataframe 然后添加行数据的实例
2018/06/07 Python
python 字典修改键(key)的几种方法
2018/08/10 Python
在Python中输入一个以空格为间隔的数组方法
2018/11/13 Python
使用CSS3的背景渐变Text Gradient 创建文字颜色渐变
2014/08/19 HTML / CSS
德国玩具商店:Planet Happy DE
2021/01/16 全球购物
装潢设计专业推荐信模板
2013/11/26 职场文书
学习演讲稿范文
2014/05/10 职场文书
群众路线教育实践活动的心得体会
2014/09/03 职场文书
我在伊朗长大观后感
2015/06/16 职场文书
企业文化学习心得体会
2016/01/21 职场文书
Java数据结构之链表相关知识总结
2021/06/18 Java/Android
Nginx配置之禁止指定IP访问
2022/05/02 Servers