>  기사  >  백엔드 개발  >  Python으로 WeChat 공개 계정 기사를 내보내는 방법

Python으로 WeChat 공개 계정 기사를 내보내는 방법

coldplay.xixi
coldplay.xixi앞으로
2020-08-29 16:34:182992검색

Python으로 WeChat 공개 계정 기사를 내보내는 방법

관련 학습 권장사항: python tutorial

1. wkhtmltopdf 설치

다운로드 주소: https://wkhtmltopdf.org/downloads.html

Windows를 사용하여 테스트했습니다. 다운로드 및 설치 방법은 다음과 같습니다

2 WeChat 공개 계정 기사를 내보내려면 Python 코드를 작성하세요

wkhtmltopdf를 사용하여 WeChat 공개 계정 기사를 직접 내보낼 수는 없으므로 내보낸 기사에는 이미지가 부족하므로 wechatsogou를 사용하여 캡처해야 합니다. WeChat 공개 계정 기사 페이지로 이동한 다음 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'''
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>{title}</title>
    </head>
    <body>
    <h2 style="text-align: center;font-weight: 400;">{title}</h2>
    {content_info[&#39;content_html&#39;]}
    </body>
    </html>
    &#39;&#39;&#39;
    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(&#39;%Y%m%d%H%M%S&#39;) + &#39;.pdf&#39;
        pdfkit.from_string(html, targetPath + os.path.sep + filename)



if __name__ == &#39;__main__&#39;:
    # 此处为要爬取公众号的名称

    url2pdf("https://mp.weixin.qq.com/s/wwT5n2JwEEAkrrmOhedziw", "HBase的系统架构全视角解读","G:/test/hbase文档.pdf" )
    # gzh_name = &#39;&#39;
    # # 如果不存在目标文件夹就进行创建
    # if not os.path.exists(targetPath):
    #     os.makedirs(targetPath)
    # # 将该公众号最近10篇文章信息以字典形式返回
    # data = ws_api.get_gzh_article_by_history(gzh_name)
    # article_list = data[&#39;article&#39;]
    # for article in article_list:
    #     url = article[&#39;content_url&#39;]
    #     title = article[&#39;title&#39;]
    #     url2pdf(url, title, targetPath)

관련 학습 권장 사항: WeChat Mini 프로그램 튜토리얼

위 내용은 Python으로 WeChat 공개 계정 기사를 내보내는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 csdn.net에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제