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使用urllib模块开发的多线程豆瓣小站mp3下载器
Jan 16 Python
Python实现把utf-8格式的文件转换成gbk格式的文件
Jan 22 Python
对于Python异常处理慎用“except:pass”建议
Apr 02 Python
selenium python浏览器多窗口处理代码示例
Jan 15 Python
使用Python通过win32 COM打开Excel并添加Sheet的方法
May 02 Python
Django 登陆验证码和中间件的实现
Aug 17 Python
python 设置输出图像的像素大小方法
Jul 04 Python
关于pytorch处理类别不平衡的问题
Dec 31 Python
django 数据库返回queryset实现封装为字典
May 19 Python
Python drop方法删除列之inplace参数实例
Jun 27 Python
如何从csv文件构建Tensorflow的数据集
Sep 21 Python
快速解决pymongo操作mongodb的时区问题
Dec 05 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
论坛里点击别人帖子下面的回复,回复标题变成“回复 24# 的帖子”
2009/06/14 Javascript
ExtJs grid行 右键菜单的两种方法
2010/06/19 Javascript
基于JQuery 选择器使用说明介绍
2013/04/18 Javascript
js获取页面传来参数的方法
2014/09/06 Javascript
JS实现密码框根据焦点的获取与失去控制文字的消失与显示效果
2015/11/26 Javascript
详解Matlab中 sort 函数用法
2016/03/20 Javascript
js微信扫描二维码登录网站技术原理
2016/12/01 Javascript
jQuery实现删除li节点的方法
2016/12/06 Javascript
JS手机端touch事件计算滑动距离的方法示例
2017/10/26 Javascript
vue 获取到数据但却渲染不到页面上的解决方法
2020/11/19 Vue.js
[55:25]VGJ.T vs Optic Supermajor小组赛D组 BO3 第三场 6.3
2018/06/04 DOTA
深入理解Python 代码优化详解
2014/10/27 Python
详细介绍Python中的偏函数
2015/04/27 Python
Python 模拟登陆的两种实现方法
2017/08/10 Python
python一键去抖音视频水印工具
2018/09/14 Python
利用python实现AR教程
2019/11/20 Python
py-charm延长试用期限实例
2019/12/22 Python
python计算二维矩形IOU实例
2020/01/18 Python
python GUI库图形界面开发之PyQt5开发环境配置与基础使用
2020/02/25 Python
Python读取JSON数据操作实例解析
2020/05/18 Python
django美化后台django-suit的安装配置操作
2020/07/12 Python
python如何删除列为空的行
2020/07/17 Python
Python中pass的作用与使用教程
2020/11/13 Python
python利用opencv实现颜色检测
2021/02/23 Python
利用CSS3的定位页面元素
2009/08/29 HTML / CSS
CSS3中HSL和HSLA的简单使用示例
2015/07/14 HTML / CSS
HTML5 与 XHTML2
2008/10/17 HTML / CSS
彪马美国官网:PUMA美国
2017/03/09 全球购物
Boolean b = new Boolean(“abcde”); 会编译错误码
2013/11/27 面试题
小学防溺水制度
2014/01/29 职场文书
文秘应聘自荐书范文
2014/02/18 职场文书
高中军训感言200字
2014/02/23 职场文书
激情洋溢的毕业生就业求职信
2014/03/15 职场文书
事业单位财务人员岗位职责
2015/04/14 职场文书
幼儿园辞职信
2015/05/13 职场文书
如何更改Win11声音输出设备?Win11声音输出设备四种更改方法
2022/04/08 数码科技