背景需求:
测试两种公众号图片下载,
1、UIBOT下载速度慢,也需要有UIBOT软件
【办公类-39-01】批量下载微信公众号图片(一)UIBOT图片下载-CSDN博客文章浏览阅读289次。【办公类-39-01】批量下载微信公众号图片(一)UIBOT图片下载https://blog.csdn.net/reasonsummer/article/details/1365229842、360套图无法下载所有图片。
【办公类-39-02】批量下载微信公众号图片(二)-360浏览器套图-CSDN博客文章浏览阅读84次,点赞2次,收藏2次。【办公类-39-01】批量下载微信公众号图片(二)-360浏览器套图https://blog.csdn.net/reasonsummer/article/details/136522853
因此,我只能试试Python爬虫了。
测试过程:
第一次问题:AI不能生成
第二次问题:生成爬虫程序,但没有成功获取图片第三次:搜索CSDN
Python爬虫——批量下载微信公众号图片_批量提取微信公众号上的图片-CSDN博客文章浏览阅读1k次,点赞4次,收藏4次。编写Python爬虫程序来实现微信公众号文章图片的下载。_批量提取微信公众号上的图片https://blog.csdn.net/qq_41301570/article/details/131592967
感谢这篇的作者,让我1秒快速下载了图片
1、打开微信,打开微信里的公众号,打开文章,复制右上角的链接
2、代码展示
# 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。# 原文链接:https://blog.csdn.net/qq_41301570/article/details/131592967import 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_encodingreturn r.textexcept: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:continuereturn adlist
#新建文件夹pic,下载并保存爬取的图片信息
def download(adlist):#注意更改文件目录root=r'C:\Users\jg2yXRZ\OneDrive\桌面\444'+'\\'for i in range(len(adlist)):path=root+str('%02d'%i)+"."+'jpg'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://mp.weixin.qq.com/s/u60kJ1Rxs_qnbLkF-Xv6fw'html=getHTMLText(url)list=getimgURL(html)download(list)
main()
重点说明
“444”文件夹里的图片
删除图片后,文件编号就不是连贯的
3、替换文件名,更改序号。
''''
下载公众号图片,所有图片按照文件名改成01 02、03
作者:AI对话大师
时间:2024月3月7日
'''import os
import shutilfolder_path = r'C:\Users\jg2yXRZ\OneDrive\桌面\444'
file_list = os.listdir(folder_path)
image_list = [file for file in file_list if file.lower().endswith(('.jpg'))]for i, image_file in enumerate(image_list):new_file_name = f"{str(i+1).zfill(2)}{os.path.splitext(image_file)[1]}"old_file_path = os.path.join(folder_path, image_file)new_file_path = os.path.join(folder_path, new_file_name)shutil.move(old_file_path, new_file_path)
最终效果图 01 、02、03……
原来的图片编码 09 19 20……