微信公众号首图/封面提取教程 - 附代码

瞎扯

每每浏览微信中各个订阅号/公众号的文章封面时,我们总能看到一些惊叹不绝的绝佳封面,它们可能是艺术,科技,更可能是你的 GODDESS(ES)。

惊叹之余,我们总需将其保存到最安全的空间——本地,以供后续欣赏吧!然鹅,鹅厂并没有给我们可钻之空档(没有明文按钮)。故,今献本法与诸位,助诸成事。


正文

  1. 找到你要提取的文章,复制其链接;

    示例:https://mp.weixin.qq.com/s/83v0tkbA-PjQ2IFajRlPKQ,来自 生死狙击 2 官方微信公众号。

  2. 在浏览器(手机建议 Via,电脑随便)打开该链接;

  3. 在网址前加上 view-source 或者右键查看页面源代码;

  4. 查找 msg_cdn_url (大概在一千五百多行);

  5. 赋值符右方引号内的链接就是了。

这里其实可以看到源代码里提供了三个图片链接,但是我们只需要第一个(和第三条一般一样)就行。

后面的注释提到了参数 idx 参数,这是一个文章位置参数。我们都知道微信公众号有时候发文章可以合并发送,呈现效果就是第一篇得以显示大图,其它的只能显示 1:1 的小图,这个就是通过 idx 参数控制的(感谢 知乎问答),在文章 idx 等于 0 时,msg_cdn_url 值的返回内容就是长方形大图,否则结果将如第二条一样:1:1 小图。具体得看其在公众号文章中的位置。

将引号内的值复制后在另一个窗口打开,欣赏你要的高清大图吧!如果需要保存直接 Ctrl + S 即可。

示例获取结果:


END

你以为结束了?不可能的!这不得给大家祭上 Python 实现爬取公众号文章封面的代码:

Follow the WTFPL License.

import requests
import re
from datetime import datetime

regex = re.compile(r'msg_cdn_url = "(?P<url>.*?)"; //', re.S)
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36 Edg/108.0.1462.76'}
now = datetime.now()
default_filename = f'{now.year}{now.month}{now.day}{now.hour}{now.minute}{now.second}'

def get_url(article_url: str) -> str:
    '''Enter a url of WeChat subscription article, return the url of the cover picture.'''
    resp = requests.get(article_url, headers=headers)
    obj = regex.search(resp.text)
    return obj.group('url')

def download(pic_url: str, save_name=default_filename + '.jpg') -> bool:
    '''Download picture from url.'''
    try:
        resp = requests.get(pic_url, headers = headers)
        with open(save_name, 'wb') as f:
            f.write(resp.content)
    except:
        return False
    else:
        return True

def main(url):
    return download(get_url(url))

if __name__ == '__main__':
    while True:
        url = input('Enter your article link hear:')
        print(['失败', '成功'][main(url)])

END

版权声明
作者:灰尘疾客
链接:https://www.gkcoll.xyz/498.html
来源:极客藏源
注意:若文章头部无特殊声明,则文章为作者原创,版权归作者所有,未经允许请勿转载(默认允许)。
转载须知:若无特殊说明,本站所有文章均遵循 CC BY-NC-SA 4.0 协议发布,转载、二次创作请遵守该协议内容,并参考以下文案添加转载声明:本文转载自网站 极客藏源 的用户 @灰尘疾客 的文章 《微信公众号首图/封面提取教程 - 附代码》。本转载文发布遵循与原文相同的 CC BY-NC-SA 4.0 协议
THE END
分享
二维码
海报
微信公众号首图/封面提取教程 - 附代码
瞎扯 每每浏览微信中各个订阅号/公众号的文章封面时,我们总能看到一些惊叹不绝的绝佳封面,它们可能是艺术,科技,更可能是你的 GODDESS(ES)。 惊叹之余,我……
<<上一篇
下一篇>>