查看原文
其他

批量下载公众号文章内容/话题/图片/封面/音频/视频,导出html,pdf,excel包含阅读数/点赞数/在看数/留言数/赞赏数

苏生不惑 苏生不惑 2022-12-12

苏生不惑第384篇原创文章,将本公众号设为星标,第一时间看最新文章。

之前发过文章 一键批量下载微信公众号文章内容/图片/封面/视频/音频,支持导出html和pdf格式,包含阅读数/点赞数/在看数/留言数 ,这里再整理更新下。

批量下载公众号文章是通过抓包用python下载的,我之前的文章说过,下载效果:下载的excel文件里是文章数据,包含文章日期,文章标题,文章链接,文章简介,文章作者,文章封面图,是否原创,IP归属地,阅读数,在看数,点赞数,留言数,赞赏次数等,比如深圳卫健委的阅读数都是10万+。为了方便,部分公众号的历史文章同步到了我的博客https://sushengbuhuo.github.io/blog ,不用在手机上翻历史文章了 ,比如深圳卫健委从2014到2022年发布1万多篇文章,第一篇文章是这个:文章下的留言内容也可以导出到excel(包含文章日期,文章标题文章链接,留言昵称,留言内容,点赞数,回复和留言时间),比如深圳卫健委在2月份就有1万6千多条留言,如果你有需要下载的公众号或抓取数据可以微信sushengbuhuo联系我。接着用python分析excel里的数据听说公众号深圳卫健委被网友投诉尺度大,我抓取了所有文章标题和阅读数分析了下

wechat=pd.read_csv('xxx公众号历史文章.csv',encoding='utf-8')

查看文章总数量:

len(wechat)

查看阅读数总数:

>>> wechat.阅读数.sum()
8191166

文章发布作者前5:

>>> wechat.文章作者.value_counts().sort_values(ascending=False).head(5)
xxx    331
Name: 文章作者, dtype: int64

阅读数10万+文章列表:

>>> wechat[wechat.阅读数>100000]
           文章日期                  文章标题                                               文章链接  ...     阅读数  在
看数   点赞数
139  2021-08-08  xxx   mp.weixin.qq.com/s...  ...  100001
 825  1742

[1 rows x 12 columns]

阅读数排行前10的文章:

>>> wechat[['文章日期','文章标题','文章链接','阅读数']].sort_values(by='阅读数', ascending=False).head(10)

阅读数点赞数在看数平均值:

>>> wechat[['阅读数','点赞数','在看数']].mean()
阅读数    24746.725076
点赞数      622.480363
在看数      260.145015
dtype: float64

头条的阅读数点赞数在看数平均值:

>>> wechat[wechat.文章位置 == 1][['阅读数','点赞数','在看数']].mean()
阅读数    28413.407407
点赞数      667.126984
在看数      276.148148
dtype: float64

头条和次条文章数:

wechat.groupby('文章位置',as_index=False).agg({"在看数":'count'}).sort_values(by=['在看数'],ascending=False).head(5)
>>> wechat.文章位置.value_counts().sort_values(ascending=False).head(5)
1    189
2    142
Name: 文章位置, dtype: int64
wechat.query('文章位置 == 2')

原创文章总数:

wechat.groupby('是否原创')['在看数'].count().sort_values(ascending=False).head(5)
wechat.groupby('是否原创').agg({"在看数":'count'}).sort_values(by=['在看数'],ascending=False).head(5)
>>> wechat.是否原创.value_counts().sort_values(ascending=False).head(5)
是    331
Name: 是否原创, dtype: int64

还有评论区的IP归属地分布,我之前文章也分析过微博/公众号/抖音等各大平台都显示 ip 归属地了,能改吗?一键批量下载微博评论数据,并分析ip归属地分布

然后是下载的文章内容,包括图片/封面/视频/音频,批量下载图片效果:

下载的图片文件名为文章发布时间加文章标题和数字:

另外每个月我都会更新一次公众号深圳卫健委的封面表情包图,无水印,欢迎收藏 2022 年 9 月公众号深圳卫健委历史文章无水印封面表情包,分享到网盘了,所有封面图的文件名为文章发布日期加标题,方便搜索,在公众号后台发送 封面 获取这个号2019-2021年的所有封面图,2022年结束的时候再下载2022封面图。批量音频如图,视频比较大,只下载了视频链接:文章内容是html文件,可以批量转换成pdf。代码如下:

import time
import re,os
import requests,json
from bs4 import BeautifulSoup
from pdf2docx import Converter

def to_pdf():
    import pdfkit
    print('导出 PDF...')
    htmls = []
    for root, dirs, files in os.walk('.'):
     for name in files:
      if name.endswith(".html"):
       print(name)
       try:
        pdfkit.from_file(name, 'pdf/'+name.replace('.html''')+'.pdf')
       except Exception as e:
        print(e)
        # htmls += [name for name in files if name.endswith(".html")]
    
    print('导出 word...')
    htmls = []
    for root, dirs, files in os.walk('.'):
        for name in files:
            if name.endswith(".pdf"):
                print(name)
                try:
                    cv = Converter(name)
                    cv.convert('word/'+name.replace('.pdf''')+'.docx')
                    cv.close()
                except Exception as e:
                    print(e)
# to_word()
 

然后将转换的pdf合并成一个文件并生成书签 苏生不惑又写了个pdf合并带书签小工具

代码如下:

import logging,os,html
from PyPDF2 import  PdfFileReader, PdfFileWriter,PdfFileMerger#pip install PyPDF2
file_writer = PdfFileWriter()
merger = PdfFileMerger()
num = 0
for root, dirs, files in os.walk('.'):
    
    for name in files:
        if name.endswith(".pdf"):#glob.glob('*.pdf')
            file_reader = PdfFileReader(f"{name}")
            file_writer.addBookmark(html.unescape(name).replace('.pdf',''), num, parent=None)
            
            for page in range(file_reader.getNumPages()):
                num += 1
                file_writer.addPage(file_reader.getPage(page))
with open(r"公众号苏生不惑历史文章合集.pdf",'wb'as f:
    file_writer.write(f)

文章下的留言也在文件里,点击左侧书签跳转到对应文章:最后再说我开发的公众号文章下载更新版:整理下苏生不惑开发过的那些工具和脚本 ,可以下载单篇文章/话题下的文章/音频/视频,在公众号后台对话框回复 公众号 获取下载地址。

输入公众号文章地址,批量下载文章里的音频效果:批量下载视频效果:顺便把文章内容html也下载了,如果有bug可以向我反馈:公众号话题下载以这个话题为例:

输入话题地址下载效果如图:

音频/视频和文章html都下载了:

下载的文章链接在文件wechat_topic_list.txt,如果第2次下载会跳过已经下载过的文章,效果:

话题里的纯音频也支持下载,这次我用golang重写了golang 开发入门教程,顺便写了个公众号批量下载工具 ,输入话题地址的下载效果如图,990个音频很快就下载完了。

音频地址保存在文件wechat_topic_audio_list.txt ,如果第2次下载也会跳过已经下载过的音频,效果:

最近原创文章:

加入我的知识星球

2022 年 9 月公众号深圳卫健委历史文章无水印封面表情包,分享到网盘了

一键批量下载微信公众号文章内容/图片/封面/视频/音频,支持导出html和pdf格式,包含阅读数/点赞数/在看数/留言数

视频下载黑科技,VIP 视频也能下载

更新版:整理下苏生不惑开发过的那些工具和脚本

如果文章对你有帮助还请 点赞/在看/分享 三连支持下, 感谢各位!

公众号苏生不惑

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存