Python爬虫——批量下载微信公众号图片

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

微信公众号是现代社交媒体中最受欢迎的平台之一,每天都有数以百万计的人在浏览不同的公众号,其中大部分都包含了图片内容。如果你是一位公众号的管理员或者粉丝,你可能想要在本地保存一些感兴趣的图片。但是,微信公众号并不提供直接下载图片的功能,那么该怎么办呢?一种简单的解决方案是通过Python编写一个爬虫程序来实现图片的下载。


一、步骤

Step1:电脑登入微信,打开一篇文章
Step2:用浏览器打开
Step3:搜索栏的网址就是URL,需要记录下来
接下来,你需要安装Python的第三方库——BeautifulSoup和Requests,这两个库可以帮助我们解析HTML页面和发送HTTP请求。

二、完整代码

代码如下:

import requests
from bs4 import BeautifulSoup
import re
import os
#获取网页信息
def getHTMLText(url):
    try:
        r=requests.get(url,timeout=30)
        r.raise_for_status()
        r.encoding=r.apparent_encoding
        return r.text
    except:
        return ""
#解析网页,获取所有图片url
def getimgURL(html):
    soup = BeautifulSoup(html , "html.parser")
    adlist=[]
    for i in soup.find_all("img"):
        try:
            ad= re.findall(r'.*src="(.*?)?" .*',str(i))
            if ad :
                adlist.append(ad)
        except:
            continue
    return adlist
#新建文件夹pic,下载并保存爬取的图片信息
def download(adlist):
    #注意更改文件目录
    root="D:\\公众号爬取\\"
    for i in range(len(adlist)):
        path=root+str(i)+"."+'gif'
        if not os.path.exists(root):
            os.mkdir(root)
        if not os.path.exists(path):
            r=requests.get(adlist[i][0])
            with open(path,'wb') as f:
                f.write(r.content)
                f.close()
def main():
    url = 'https://www.gangqinjianpu.com/1690.html'
    html=getHTMLText(url)
    list=getimgURL(html)
    download(list)
main()

以上的代码首先通过Requests库发送HTTP请求获取HTML页面,然后通过BeautifulSoup库解析HTML页面,提取文章中的图片链接。接着,创建一个保存图片的文件夹,在循环中使用Requests库下载每张图片,并保存到本地磁盘。

总结

如果你想要进一步了解更多的相关知识,可以关注下面公众号联系~会不定期发布相关设计内容包括但不限于如下内容:信号处理、通信仿真、算法设计、matlab appdesigner,gui设计、simulink仿真…希望能帮到你!
在这里插入图片描述

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

MatpyMaster

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值