Python爬取王者荣耀英雄和皮肤图片并生成Excel表格

本教程将使用Python编写一个程序,爬取王者荣耀官网所有英雄和皮肤图片,并将其保存到Excel表格中。教程涵盖了爬虫、网页解析、Excel操作等方面的知识,并提供示例代码供参考。

主要任务

设计一个窗体应用系统,具有以下功能:

  1. 加载需要用到的各种第三方库,如requests;BeautifulSoup4; lxml;sqlite3;jieba;;WordCloud;openpyxl等。
  2. 爬取王者荣耀官网信息。
  3. 将信息保存到Excel表中。
  4. 生成图表或显示处理后的信息内容:这个任务比较复杂,需要涉及到爬虫、Excel表格处理、数据可视化等多个方面。

示例代码

import requests
from bs4 import BeautifulSoup
import openpyxl
import os

# 爬取英雄和皮肤图片的网站
url = 'https://pvp.qq.com/web201605/herolist.shtml'

# 请求网页内容
response = requests.get(url)
response.encoding = 'gbk'
html = response.text

# 解析网页内容
soup = BeautifulSoup(html, 'lxml')
hero_list = soup.select('.herolist > li')
hero_images = []

# 获取英雄和皮肤图片链接
for hero in hero_list:
    hero_name = hero.select_one('.herolist-content > h3').text
    hero_url = 'https://pvp.qq.com/web201605/' + hero.select_one('a')['href']
    hero_response = requests.get(hero_url)
    hero_response.encoding = 'gbk'
    hero_html = hero_response.text
    hero_soup = BeautifulSoup(hero_html, 'lxml')
    skin_list = hero_soup.select('.pic-pf-list > li')
    for skin in skin_list:
        skin_name = skin.select_one('.pic-pf-name').text
        skin_image = skin.select_one('.pic-pf-img')['data-imgname']
        hero_images.append((hero_name, skin_name, skin_image))

# 保存英雄和皮肤图片链接到Excel表格中
if not os.path.exists('hero_images.xlsx'):
    wb = openpyxl.Workbook()
    ws = wb.active
    ws.append(['英雄名称', '皮肤名称', '图片链接'])
else:
    wb = openpyxl.load_workbook('hero_images.xlsx')
    ws = wb.active

for hero_image in hero_images:
    ws.append(hero_image)

wb.save('hero_images.xlsx')

代码功能说明

  1. 使用requests库请求网页内容,并使用BeautifulSoup库解析网页内容。
  2. 获取英雄和皮肤图片链接,并保存到一个列表中。
  3. 使用openpyxl库创建或打开一个Excel表格,并将英雄和皮肤图片链接保存到表格中。

扩展功能

如果需要生成图表或显示处理后的信息,可以使用其他库进行处理。例如,使用matplotlib库生成柱状图或饼图,使用WordCloud库生成词云图等。


原文地址: https://www.cveoy.top/t/topic/f1c5 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录