使用Python将微信文章图片保存到本地,的


经常我们导师丢一个微信文章过来,让我们把其中的图片整理成文档学习。有时候文章里面的图片特别多,这个时候一张一张的保存就太费时。使用Python自动保存看起来是个不错的办法。

# coding=utf-8
import re
import requests

def spider(paperurl, picpat):
    headers = {
        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/54.0.2840.99 Safari/537.36"}

    response = requests.get(paperurl, headers=headers).text

    pattern = re.compile(picpat)

    data = pattern.findall(response)

    for i in range(0, len(data)):
        picurl = data[i]
        print(picurl)
        write(picurl, i)


def write(picurl, i):
    data = requests.get(picurl).content
    with open("D:\Desktop\微信jpeg\\{}.jpeg".format(i), "wb") as f:
        f.write(data)


if __name__ == '__main__':
    paperurl = r"https://mp.weixin.qq.com/s/7huJOS7G4HEZYx1FtOTxIw"
    picpat = r'<img data-ratio="[\s\S]*?" data-src="(.*?)" data-type="jpeg" data-w="[\s\S]*?"'
    spider(paperurl, picpat)

主要是根据正则表达式来抽取图片的链接,再批量保存。这里的 picpat 需要具体分析文章的源代码来填写。
这里的示例微信文章的链接是清华大学龙瀛老师的《新城市科学概论》的课件ppt,在此表示感谢。