前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python打印公众号文章范例,解决微信公众号文章采集打印pdf图片无法显示的问题

Python打印公众号文章范例,解决微信公众号文章采集打印pdf图片无法显示的问题

作者头像
二爷
发布2021-05-20 10:07:55
1.5K0
发布2021-05-20 10:07:55
举报
文章被收录于专栏:二爷记二爷记

python第三方库pdfkit非常好用,基本上应用它就可以打印出pdf文件,作为学渣收藏干货吃灰简直是完美匹配,本渣渣也写了不少爬取不少干货打印成pdf的文章,其中就有微信公众号文章,前段时间又继续折腾了公众号文章打印pdf,发现如果存在图片就挂比,歇菜了!

SO,因此有了这样一篇文章,解决微信公众号文章打印pdf图片无法显示的问题,不懂的话直接搜大佬的参考方案,百试百灵!!

下面就来复盘一下解决方案!

就以本渣渣的公众号文章链接为例:

【微信采集助手】Python Tkinter 微信公众号文章批量采集工具

爬取打印pdf效果:

关键要点

解决pdfkit直接转换url成为pdf会出现图片无法显示问题,参考了博客园xuzifan提供的思路,利用wechatsogou中的get_article_content函数,将url中的代码提取出来转换为html字符串,然后将html字符串转换为pdf,完美解决。

代码语言:javascript
复制
pip install wechatsogou --upgrade

wechatsogou是一个基于搜狗微信搜索的微信公众号爬虫接口,没错,还是调用接口!!

使用Python爬取微信公众号文章并保存为PDF文件(解决图片不显示的问题)

https://www.cnblogs.com/xuzifan/p/11121878.html

不过本渣渣测试了一下代码,老是出验证码,死活没有运行下去!

这里再提供一下最近的代码参考,一个大佬老哥的源码:

搞定,爬取公众号文章转换成PDF,自动邮件发送给自己!

可自行参考!

附完整源码参考:

代码语言:javascript
复制
#采集微信公众号文章内容转pdf文件
#by 微信:huguo00289

# -*- coding: UTF-8 -*-
import wechatsogou
import pdfkit

#pdfkit本地路径
config = pdfkit.configuration(
    wkhtmltopdf=r'D:\wkhtmltox-0.12.5-1.mxe-cross-win64\wkhtmltox\bin\wkhtmltopdf.exe')

# 初始化API
ws_api = wechatsogou.WechatSogouAPI(captcha_break_time=3)

def dypdf(h1, data):
    # 处理后的html
    datas = f'''
        <!DOCTYPE html>
        <html lang="en">
        <head>
            <meta charset="UTF-8">
            <title>{h1}</title>
        </head>
        <body>
        <h2 style="text-align: center;font-weight: 400;">{h1}</h2>
        {data}
        </body>
        </html>
        '''

    print("开始打印内容!")
    pdfkit.from_string(datas, f'{h1}.pdf', configuration=config)
    print("打印保存成功!")


def wx(h1,url):
    # 该方法根据文章url对html进行处理,使图片显示
    content_info = ws_api.get_article_content(url)
    # 得到html代码(代码不完整,需要加入head、body等标签)
    html_code = content_info['content_html']

    dypdf(h1, html_code)


if __name__=='__main__':
    url="https://mp.weixin.qq.com/s?src=11&timestamp=1621327798&ver=3075&signature=jmB-1M7nuTd-tKOj-8WmSLcmLK7fWIfIeWsZvtIKw5AkYd4U0R5cOz*QSjaVDfg38UkPtUqfxL2Lut0jrWNuTAtQMiyWd*tJHqLlPnWH-ewQ46cpjjp-Pyke0ab57WdM&new=1"
    h1="【微信采集助手】Python Tkinter 微信公众号文章批量采集工具"
    wx(h1,url)

调用接口什么的,还是比较简单,做一个调包侠,还是非常给力的!

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-05-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Python与SEO学习 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 关键要点
相关产品与服务
验证码
腾讯云新一代行为验证码(Captcha),基于十道安全栅栏, 为网页、App、小程序开发者打造立体、全面的人机验证。最大程度保护注册登录、活动秒杀、点赞发帖、数据保护等各大场景下业务安全的同时,提供更精细化的用户体验。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档