Python如何批量下载阴阳师网站壁纸
发表于:2025-01-21 作者:千家信息网编辑
千家信息网最后更新 2025年01月21日,这篇文章主要介绍"Python如何批量下载阴阳师网站壁纸"的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇"Python如何批量下载阴阳师网站壁纸"文章能帮助大家解
千家信息网最后更新 2025年01月21日Python如何批量下载阴阳师网站壁纸过程
借鉴代码
思考urllib.request和requests
BeautifulSoup
优化处理
这篇文章主要介绍"Python如何批量下载阴阳师网站壁纸"的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇"Python如何批量下载阴阳师网站壁纸"文章能帮助大家解决问题。
代码复制可直接使用,记得pip install下载requests和bs4
最终版本
# 引入系统类库用于打开关闭文件import sys# 使用文档解析类库from bs4 import BeautifulSoup# 使用网络请求类库import requests#图片保存目录path = 'D:/阴阳师' #阴阳师壁纸网站html_doc = "https://yys.163.com/media/picture.html" # 请求requests_html_doc = requests.get(html_doc).text# 正则匹配所有href地址regex = re.compile('.*?href="(.*?)2732x2048.jpg" rel="external nofollow" ')urls = regex.findall(requests_html_doc)# set集合可以防止下载的图片重复result = set()for i in urls: result.add(i)# 计数器用于图片命名num = 0# 文件路径、操作模式、编码 # r''# 打开文件录入图片f = open(r'result.txt', 'w', encoding='utf-8')for a in urls: try: image_data = requests.get(a).content image_name = '{}.jpg'.format(num) # 给每张图片命名 save_path = path + '/' + image_name # 图片的保存地址 with open(save_path, 'wb') as f: f.write(image_data) print(image_name, '=======================>下载成功!!!') num = num+1 # 下一张图片名字序号加一 except: pass# 关闭文件录入f.close()print("扫描结果已写入到result.txt文件中")
过程
借鉴代码
自己从0开始,没有头绪,而且对python掌握度不高,那先借鉴别人的代码开始,第一篇借鉴的代码如下
# 引入系统类库import sys# 使用文档解析类库from bs4 import BeautifulSoup# 使用网络请求类库import urllib.requestpath = 'D:/阴阳师'html_doc = "https://yys.163.com/media/picture.html"# 获取请求req = urllib.request.Request(html_doc)# 打开页面webpage = urllib.request.urlopen(req)# 读取页面内容html = webpage.read()# 解析成文档对象soup = BeautifulSoup(html, 'html.parser') # 文档对象# 非法URL 1invalidLink1 = '#'# 非法URL 2invalidLink2 = '_javascript:void(0)'# set集合可以防止下载的图片连接重复result = set()# 计数器用于图片命名num = 0# 查找文档中所有a标签for k in soup.find_all('a'): # print(k) # 查找href标签 link = k.get('href') # 过滤没找到的 if(link is not None): # 过滤非法链接 if link == invalidLink1: pass elif link == invalidLink2: pass elif link.find("_javascript:") != -1: pass else: result.add(link)for a in result: # 文件路径、操作模式、编码 # r'' f = open(r'result.txt', 'w', encoding='utf-8') # image_data = urllib.request.get(url=a).content image_data = requests.get(url=a).content image_name = '{}.jpg'.format(num) # 给每张图片命名 save_path = path + '/' + image_name # 图片的保存地址 with open(save_path, 'wb') as f: f.write(image_data) print(image_name, '=======================>下载成功!!!') num = num+1 # 下一张图片名字序号加一 f.close()print("扫描结果已写入到result.txt文件中")
思考urllib.request和requests
借鉴的代码中使用urllib.request来请求,刚开始学习看到的一些代码实例也常用urllib.request来发起请求,之后看到有的代码使用的是requests。对于我个人,主观感受requests更加便捷,少写了几行代码,于是便去查阅了解两者的区别。
BeautifulSoup
接触到了BeautifulSoup,并且在一些文章的评论中看到对BeautifulSoup的称赞,进入文档查阅了下用法,改变了我之前对python,获取文档中部分特征的元素节点的写法困难的印象。
Beautiful Soup 4 文档
优化处理
之所以要加正则匹配,因为一开始获取到的图片链接里有空字符串的现象,在下载图片的时候直接报错整个程序挂掉,而且这个借鉴代码中的invalidLink1和invalidLink2看起来属实不舒服。所以添加了正则从源头保证链接的有效性,并且在执行下载代码中,添加了try,except保证程序出错也不会挂掉。
关于"Python如何批量下载阴阳师网站壁纸"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注行业资讯频道,小编每天都会为大家更新不同的知识点。
图片
代码
文件
文档
阴阳
壁纸
网站
地址
正则
知识
链接
成功
内容
名字
对象
序号
文章
标签
模式
程序
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
服务器地址怎么写
天津市哪有买华3服务器的
金铲铲之战哪个服务器最多人
数据库考级
软件开发实例简述
rails数据库
快手概念版软件开发
朝阳希望网络技术有限公司
最牛的虚拟化服务器
软件开发以后竞争力大吗
服务器断电后进入安全模式
乳腺癌数据库作为博士学位
惠州铁路公安处网络安全支队
263邮箱pop服务器
无锡硬件网络安全
it软件开发工程师一枚
网络技术咨询询问报价
grid数据库实例
列存储的数据库
宽带IP网络技术的发展趋势
2008服务器安全问题
白山政务软件开发多少钱
激光操作软件开发
门禁保存数据库错误
软件开发 技术评分表
黑龙江省网络安全技能竞赛
软件开发公司的主要风险
数据库原理中dba代表什么意思
一站式购物软件开发
党员学习网络安全