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 文件与目录操作
Dec 24 Python
在Python中利用Into包整洁地进行数据迁移的教程
Mar 30 Python
利用Python中SocketServer 实现客户端与服务器间非阻塞通信
Dec 15 Python
浅析使用Python操作文件
Jul 31 Python
pygame实现俄罗斯方块游戏
Jun 26 Python
利用django+wechat-python-sdk 创建微信服务器接入的方法
Feb 20 Python
Python人工智能之路 之PyAudio 实现录音 自动化交互实现问答
Aug 13 Python
Win10下python 2.7与python 3.7双环境安装教程图解
Oct 12 Python
python 使用shutil复制图片的例子
Dec 13 Python
python爬取本站电子书信息并入库的实现代码
Jan 20 Python
python制作一个简单的gui 数据库查询界面
Nov 19 Python
python 命令行传参方法总结
May 25 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 生成静态页面的办法与实现代码详细版
2010/02/15 PHP
使用php+Ajax实现唯一校验实现代码[简单应用]
2011/11/29 PHP
php中禁止单个IP与ip段访问的代码小结
2012/07/04 PHP
PHP在innodb引擎下快速代建全文搜索功能简明教程【基于xunsearch】
2016/10/14 PHP
关于laravel5.5的定时任务详解(demo)
2019/10/23 PHP
Array.prototype.slice 使用扩展
2010/06/09 Javascript
jquery及js实现动态加载js文件的方法
2016/01/21 Javascript
深入理解Ajax的get和post请求
2016/06/02 Javascript
ThinkPHP+jquery实现“加载更多”功能代码
2017/03/11 Javascript
详解如何在vue中使用sass
2017/06/21 Javascript
jQuery实现页码跳转式动态数据分页
2017/12/31 jQuery
原生JS实现自定义下拉单选选择框功能
2018/10/12 Javascript
vue使用pdfjs显示PDF可复制的实现方法
2018/12/14 Javascript
JavaScript数据结构与算法之二叉树实现查找最小值、最大值、给定值算法示例
2019/03/01 Javascript
解决前后端分离 vue+springboot 跨域 session+cookie失效问题
2019/05/13 Javascript
vue实现登录页面的验证码以及验证过程解析(面向新手)
2019/08/02 Javascript
解决echarts vue数据更新,视图不更新问题(echarts嵌在vue弹框中)
2020/07/20 Javascript
python使用MySQLdb访问mysql数据库的方法
2015/08/03 Python
Python实现动态图解析、合成与倒放
2018/01/18 Python
Python3实现的爬虫爬取数据并存入mysql数据库操作示例
2018/06/06 Python
实例讲解Python爬取网页数据
2018/07/08 Python
在python中实现强制关闭线程的示例
2019/01/22 Python
python selenium firefox使用详解
2019/02/26 Python
Python如何使用argparse模块处理命令行参数
2019/12/11 Python
解决Python列表字符不区分大小写的问题
2019/12/19 Python
可自定义箭头样式的CSS3气泡提示框
2016/03/16 HTML / CSS
DOM和JQuery对象有什么区别
2016/11/11 面试题
领导干部整治奢华浪费之风思想汇报
2014/10/07 职场文书
地陪导游欢迎词
2015/01/26 职场文书
结婚纪念日感言
2015/08/01 职场文书
关于车尾的标语大全
2015/08/11 职场文书
教师教育心得体会
2016/01/19 职场文书
企业管理不到位检讨书
2019/06/27 职场文书
golang 实现并发求和
2021/05/08 Golang
如何有效防止sql注入的方法
2021/05/25 SQL Server
解决springboot druid数据库连接失败后一直重连的方法
2022/04/19 Java/Android