[関連する学習の推奨事項: WeChat パブリック アカウント開発チュートリアル ]
はじめに
初めてブログを書くのですが、主な内容は、WeChat 公開アカウントから記事をクロールし、記事を PDF 形式でローカルに保存することです。
WeChat パブリック アカウントの記事のクロール (wechatsogou を使用)
1. インストール
pip install wechatsogou --upgrade
wechatsogou は、Sogou WeChat 検索に基づいた WeChat パブリック アカウント クローラー インターフェイスです
# 2. 利用方法利用方法は以下の通りですimport wechatsogou # captcha_break_time为验证码输入错误的重试次数,默认为1 ws_api = wechatsogou.WechatSogouAPI(captcha_break_time=3) # 公众号名称 gzh_name = '' # 将该公众号最近10篇文章信息以字典形式返回 data = ws_api.get_gzh_article_by_history(gzh_name)dataデータ構造:
{ 'gzh': { 'wechat_name': '', # 名称 'wechat_id': '', # 微信id 'introduction': '', # 简介 'authentication': '', # 认证 'headimage': '' # 头像 }, 'article': [ { 'send_id': int, # 群发id,注意不唯一,因为同一次群发多个消息,而群发id一致 'datetime': int, # 群发datatime 10位时间戳 'type': '', # 消息类型,均是49(在手机端历史消息页有其他类型,网页端最近10条消息页只有49),表示图文 'main': int, # 是否是一次群发的第一次消息 1 or 0 'title': '', # 文章标题 'abstract': '', # 摘要 'fileid': int, # 'content_url': '', # 文章链接 'source_url': '', # 阅读原文的链接 'cover': '', # 封面图 'author': '', # 作者 'copyright_stat': int, # 文章类型,例如:原创啊 }, ... ] }ここで取得する情報は記事タイトルと記事URLの2つです。 記事の URL を取得したら、その URL に基づいて HTML ページを PDF ファイルに変換できます。 PDF ファイルの生成1.wkhtmltopdf のインストールダウンロード アドレス: https://wkhtmltopdf.org/downloads.html2.pdfkit のインストール
pip install pdfkit
3. 使い方import pdfkit
# 根据url生成pdf
pdfkit.from_url('http://baidu.com','out.pdf')
# 根据html文件生成pdf
pdfkit.from_file('test.html','out.pdf')
# 根据html代码生成pdf
pdfkit.from_string('Hello!','out.pdf')
上記で取得した記事URLを直接使用してPDFを生成すると、PDFファイルに記事画像が表示されないという問題が発生します。 解決策: # 该方法根据文章url对html进行处理,使图片显示 content_info = ws_api.get_article_content(url) # 得到html代码(代码不完整,需要加入head、body等标签) html_code = content_info['content_html']次に、html_code に基づいて完全な HTML コードを構築し、
pdfkit.from_string() メソッドを呼び出して PDF ファイルを生成します。記事内の写真を検索するとPDFファイルで表示されます。
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 id="title">{title}</h2>
{content_info['content_html']}
</body>
</html>
'''
try:
pdfkit.from_string(html, targetPath + os.path.sep + f'{title}.pdf')
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__':
# 此处为要爬取公众号的名称
gzh_name = ''
targetPath = os.getcwd() + os.path.sep + 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)
関連学習の推奨事項:
以上がWeChat パブリック アカウントの記事をクロールし、PDF ファイルとして保存します (Python メソッド)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

mPDF
mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター

EditPlus 中国語クラック版
サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

PhpStorm Mac バージョン
最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

WebStorm Mac版
便利なJavaScript開発ツール
