当前位置: 首页 > wzjs >正文

湖州长兴县建设局网站自制网站

湖州长兴县建设局网站,自制网站,网站建设起到计划和指导作用,wordpress引入html前言 出于美术借鉴学习的目的,需要该游戏的英雄皮肤原画图片,所以进行了分析和本地下载,代码导入了必要的库:os、re、urljoin、requests和lxml.etree。 代码和下载资源仅供学习使用,版权&著作权归原作者所有&…

前言

出于美术借鉴学习的目的,需要该游戏的英雄皮肤原画图片,所以进行了分析和本地下载,代码导入了必要的库:os、re、urljoin、requests和lxml.etree。
代码和下载资源仅供学习使用,版权&著作权归原作者所有!运行时请遵守网站相关规定,控制请求频率。出现侵权以及经济纠纷后果自负

在这里插入图片描述

在这里插入图片描述
下载的图片基本是 1920*882的尺寸,大小在几百KB – 1MB范围内:

在这里插入图片描述

实现过程

其核心思路:是访问英雄列表接口获取所有英雄数据,遍历每个英雄:创建对应的存储目录,解析英雄详情页获取皮肤信息,批量下载所有皮肤图片。

创建目录

base_dir = os.path.join('WangZhe_Imgs')
os.makedirs(base_dir, exist_ok=True)  # 自动创建基础目录
hero_dir = os.path.join(base_dir, cname)
os.makedirs(hero_dir, exist_ok=True)  # 创建英雄专属目录

示例:英雄"孙悟空"的皮肤会保存在WangZhe_Imgs/孙悟空/目录下

详情页

resp = requests.get(hurl)  # 请求英雄详情页
resp.encoding = resp.apparent_encoding  # 自动检测编码
curr = etree.HTML(resp.text)  # 构建HTML解析器

获取图URL

src = curr.xpath("//div[@class='zk-con1 zk-con']/@style")
url_part = style.split('url(')[1].split(')')[0].strip('\'"')
base_img_url = urljoin(hurl, url_part)  # 拼接完整URL

最终得到基础URL示例:https://***/…/109-bigskin-1.jpg

处理URL

base_part, ext_part = base_img_url.split('-1.', 1)
ext = f".{ext_part.split('?')[0]}"  # 提取扩展名并去除参数

获取图片名

pic_pf = curr.xpath("//div[@class='pic-pf']/ul/@data-imgname")
skin_names = pic_pf[0].split('|')

下载所有

for idx, skin_name in enumerate(skin_names, 1):skin_url = f"{base_part}-{idx}{ext}"  # 生成实际图片URLsafe_name = re.sub(r'[\\/*?:"<>|]', '_', skin_name)  # 清理非法字符resp_img = requests.get(skin_url)

代码

完整代码如下:

import os
import re
from urllib.parse import urljoin
import requests
from lxml import etreedef download_images(hurl, cname):# 创建基础目录和英雄目录base_dir = os.path.join('WangZhe_Imgs')os.makedirs(base_dir, exist_ok=True)hero_dir = os.path.join(base_dir, cname)os.makedirs(hero_dir, exist_ok=True)resp = requests.get(hurl)if resp.status_code != 200:print(f"请求失败,状态码:{resp.status_code},英雄:{cname}")returnresp.encoding = resp.apparent_encodingcurr = etree.HTML(resp.text)# 提取背景图片URLsrc = curr.xpath("//div[@class='zk-con1 zk-con']/@style")if not src:print(f"未找到皮肤图片,英雄:{cname}")returnstyle = src[0]if 'url(' not in style:print(f"样式格式错误,英雄:{cname}")returnurl_part = style.split('url(')[1].split(')')[0].strip('\'"')base_img_url = urljoin(hurl, url_part)# 处理图片URL格式if '-1.' not in base_img_url:print(f"图片URL格式不符:{base_img_url},英雄:{cname}")returnbase_part, ext_part = base_img_url.split('-1.', 1)ext = f".{ext_part.split('?')[0]}"  # 去除查询参数# 提取皮肤名称pic_pf = curr.xpath("//div[@class='pic-pf']/ul/@data-imgname")if not pic_pf:print(f"未找到皮肤名称,英雄:{cname}")returnskin_names = pic_pf[0].split('|')# 下载皮肤图片for idx, skin_name in enumerate(skin_names, 1):skin_url = f"{base_part}-{idx}{ext}"# 清理非法字符safe_name = re.sub(r'[\\/*?:"<>|]', '_', skin_name)save_path = os.path.join(hero_dir, f"{safe_name}.jpg")# 下载并保存resp_img = requests.get(skin_url)if resp_img.status_code == 200:with open(save_path, 'wb') as f:f.write(resp_img.content)print(f"下载成功:{cname} - {safe_name}")else:print(f"下载失败:{skin_url}")def main(url):resp = requests.get(url)if resp.status_code != 200:print("获取英雄列表失败")returnfor hero in resp.json():hero_url = f"https://pvp.秋秋.com/web201605/herodetail/{hero['ename']}.shtml"download_images(hero_url, hero['cname'])if __name__ == '__main__':url = 'https://pvp.秋秋.com/web201605/js/herolist.json'
main(url)

运行在这里插入图片描述

再次强调
以上代码和下载资源仅供学习使用,版权&著作权归原作者所有!运行时请遵守网站相关规定,控制请求频率。出现侵权以及经济纠纷后果自负

http://www.dtcms.com/wzjs/283856.html

相关文章:

  • 艺术网站欣赏引擎搜索入口
  • 精品网站设计如何建立和设计公司网站
  • 用ps做网站页面如何网络媒体推广
  • 企业wordpress主题seo优化技术
  • 郑州官网seo费用百度谷歌seo优化
  • Wordpress外贸网站搭建公司湖南长沙最新疫情
  • 重庆永川网站建设价格互联网销售平台
  • 宣传部网站建设方案常德网站建设制作
  • 蒙牛企业网站建设规划书十八大禁用黄app入口
  • 中国有没有开源社区朝阳区seo技术
  • 宜春做网站的公司营销型网站建设公司
  • php做门户网站网络服务商
  • 阿里云部署网站百度投放广告平台
  • 学php动态网站开发好不好seo流量
  • 资讯类响应式网站模板昆明seo网站建设
  • python爬虫爬小说来做网站网络营销的特征和功能
  • 免费建网站域名seo优化的技巧
  • 域名网址注册seo系统源码
  • 网站开发需要什么软件湖南广告优化
  • 网站超市深圳百度推广公司
  • 做诈骗网站以及维护网站设计是做什么的
  • 新吴区推荐做网站价格百度推广开户多少钱一个月
  • 做网站优化就是发文章吗2021年网络十大关键词
  • 建设银行网站怎么修改手机号码搜易网服务内容
  • 长春快速建站模板上海百度推广方案
  • 网上购物网站建设企业网站制作流程
  • 苏州网站建设开发如何自建网站
  • 新手学做网站难吗谷歌搜索引擎免费入口镜像
  • 什么是软件开发平台厦门seo外包公司
  • 化妆品网站制作需要公众号seo排名优化