WeChat 공개 계정 기사를 크롤링하여 PDF 파일로 저장(Python 방식)
【관련 학습 권장사항: WeChat 공개 계정 개발 튜토리얼】
머리말
블로그를 처음 작성합니다. 주요 콘텐츠는 WeChat 공개 계정의 기사를 크롤링하는 것입니다. 기사를 PDF 형식으로 변환하여 로컬에 저장하세요.
Wechatsogou 기사 크롤링(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이라는 두 가지 정보를 얻어야 합니다.
기사 URL을 얻은 후 해당 URL을 기반으로 html 페이지를 pdf 파일로 변환할 수 있습니다.
PDF 파일 생성
1. wkhtmltopdf 설치
다운로드 주소 : https://wkhtmltopdf.org/downloads.html
2.pdfkit
pip install pdfkit
설치 방법
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')
3. 위의 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 style="text-align: center;font-weight: 400;">{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)
관련 학습 권장 사항: python 튜토리얼
위 내용은 WeChat 공개 계정 기사를 크롤링하여 PDF 파일로 저장(Python 방식)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제









