vscode 编写爬虫爬取王者荣耀壁纸

news/2024/7/2 23:58:46

网上关于爬虫大部分教程和编辑器用的都不是vscode ,此教程用到了vscode、Python、bs4、requests。

vscode配置Python安装环境可以看看这个大佬的教程 03-vscode安装和配置_哔哩哔哩_bilibili

vscode配置爬虫环境可以参考这个大佬的教程【用Vscode实现简单的python爬虫】从安装到配置环境变量到简单爬虫以及python中pip和request,bs4安装_vscode爬虫-CSDN博客

爬虫代码如下


#按照指令升级pip库,如果无法解析pip指令说明系统变量环境path中缺少了Python的路径,解决办法:https://zhuanlan.zhihu.com/p/655640807
#发送请求的模块  pip install requests
import requests
#解析HTML的模块  pip install bs4
from bs4 import BeautifulSoup
import os
import re 

headers1={
        "User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36 Edg/119.0.0.0"
    }

def requests_url(req_url):
    response= requests.get(req_url,headers=headers1)
    response.encoding='gbk'   #网页编码gbk
    return response.text
     

#获取英雄列表里面的英雄详情页网址以及英雄编号
#https://pvp.qq.com/web201605/herolist.shtml
#解析标签,获取到英雄详情页以及英雄名字<a href="herodetail/lianpo.shtml" target="_blank"><img src="//game.gtimg.cn/images/yxzj/img201606/heroimg/105/105.jpg" width="91" height="91" alt="廉颇">廉颇</a>
#
herolist_resp= requests_url("https://pvp.qq.com/web201605/herolist.shtml")
soup =  BeautifulSoup(herolist_resp,"html.parser")
ul = soup.find_all("ul",attrs={"class":"herolist clearfix"})
icon_list = ul[0].find_all("a")

for i,n in enumerate(icon_list):

    hrefs=n.get("href")   
    url = "https://pvp.qq.com/web201605/"+ hrefs

    id = re.findall(r'\d+',hrefs)[0]    #获取英雄编号
    imgs=n.findAll('img')[0]
    c_name= imgs.get("alt")
    local_path = "王者荣耀\\"+c_name+"\\"   #创建英雄文件夹
    if not os.path.exists(local_path):
        os.makedirs(local_path)

    #获取详情页
    herodetail_resp = requests_url(url)
    soup = BeautifulSoup(herodetail_resp,"html.parser")
    ul = soup.findAll("ul",attrs={"class":"pic-pf-list pic-pf-list3"})
    #data-imgname属性获取
    names = ul[0].get("data-imgname")
    names=[name[0:name.index('&')]for name in names.split('|')]
    print(names)

        #提取皮肤名字
    for i,n in enumerate(names) :
        print (n)
    #   for num in  range(105,108):    #563
        #response = requests.get(f"https://game.gtimg.cn/images/yxzj/img201606/skin/hero-info/{num}/{num}-bigskin-1.jpg",headers=headers1)
        response = requests.get(f"https://game.gtimg.cn/images/yxzj/img201606/skin/hero-info/{id}/{id}-bigskin-{i+1}.jpg",headers=headers1)
        #保存图片
        with open (local_path+f"{n}.jpg",'wb') as f:
            f.write(response.content)

此爬虫支持不同英雄的壁纸根据皮肤名称分类存放,具体效果可以观看B站视频vscode编写Python爬虫,爬取王者荣耀皮肤壁纸_哔哩哔哩_bilibili。


http://lihuaxi.xjx100.cn/news/1883039.html

相关文章

Android App-targetSDKVersion28升级为30

为什么要修改targetSDKVersion&#xff1f; 1、应用开发平台要求&#xff08;小米&#xff09; 2、更好的兼容新版本的手机 有targetSDKVersion的位置&#xff1a; App的targetSDKVersionModule中的targetSDKVersion引入的第三方库中有targetSDKVersion 修改了App和Module中…

2.2 C语言之常量

2.2 C语言之常量 一、常量 一、常量 类似于1234的整数常量属于int类型。 printf("%d\n", 1234);long类型的常量以l或L结尾 printf("%d\n", 123456789l);printf("%d\n", 123456789L);如果一个整数太大&#xff0c;以至于无法用int类型表示时&…

D28|买卖股票的最佳时机+跳跃游戏

122.买卖股票的最佳时机 II 初始思路&#xff1a; 这道题解题的时候比较像在找规律&#xff0c;发现只要计算这个过程中的两数之差然后相加即可。 题解复盘&#xff1a; 可以更加清晰的发现如何从题意中获得贪心的思路。 如何贪心&#xff1a;局部最优&#xff1a;收集每天的…

PPP协议概述与实验示例

PPP协议概述与实验示例 概述 PPP&#xff08;Point-to-Point Protocol&#xff09;是一种用于在点对点连接上传输多协议数据包的标准方法。它已经成为最广泛使用的互联网接入数据链路层协议&#xff0c;可以与各种技术结合&#xff0c;如ADSL、LAN等&#xff0c;实现宽带接入…

TCP 和 UDP 区别? 2、TCP/IP 协议涉及哪几层架构? 3、描述下 TCP 连接 4 次挥手的过程?为什么要 4 次挥手?

文章目录 1、TCP 和 UDP 区别&#xff1f;2、TCP/IP 协议涉及哪几层架构&#xff1f;3、描述下 TCP 连接 4 次挥手的过程&#xff1f;为什么要 4 次挥手&#xff1f;4、计算机插上电源操作系统做了什么&#xff1f;5、Linux 操作系统设备文件有哪些&#xff1f; 1、TCP 和 UDP …

选项式API和组合式API

简介 Vue 3支持选项式API和组合式API。其中&#xff0c;选项式API是从Vue 2开始使用的一种写法&#xff0c;而Vue 3新增了组合式API的写法。 选项式API 选项式API是一种通过包含多个选项的对象来描述组件逻辑的API&#xff0c;其常用的选项包括data、methods、computed、watch…

人工智能在安全领域的应用

ChatGPT 等 AI 应用在网络安全领域的应用效果明显&#xff0c;其自动编程能力、分析能力及自身集成的知识库能够帮助网络安全从业者提升工作效率&#xff0c;改进组织的网络安全计划。 &#xff08;一&#xff09;代码生成与检测能力 可用于开发漏洞挖掘工具。如目前可以利用…

事业编《综应 综合知识应用能力 综合应用》笔记

文章目录&#xff1a; 一&#xff1a;归纳概况题 二&#xff1a;对策措施题 三&#xff1a;综合分析题 四&#xff1a;公文写作题 五&#xff1a;事务处理题 六&#xff1a;案例分析题 1.问题类 2.原因类 3.影响类 4.场景方案类 七&#xff1a;材料作文题 八&#…