Python爬取王者荣耀英雄和皮肤图片并生成Excel表格
Python爬取王者荣耀英雄和皮肤图片并生成Excel表格
本教程将使用Python编写一个程序,爬取王者荣耀官网所有英雄和皮肤图片,并将其保存到Excel表格中。教程涵盖了爬虫、网页解析、Excel操作等方面的知识,并提供示例代码供参考。
主要任务
设计一个窗体应用系统,具有以下功能:
- 加载需要用到的各种第三方库,如requests;BeautifulSoup4; lxml;sqlite3;jieba;;WordCloud;openpyxl等。
- 爬取王者荣耀官网信息。
- 将信息保存到Excel表中。
- 生成图表或显示处理后的信息内容:这个任务比较复杂,需要涉及到爬虫、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')
代码功能说明
- 使用requests库请求网页内容,并使用BeautifulSoup库解析网页内容。
- 获取英雄和皮肤图片链接,并保存到一个列表中。
- 使用openpyxl库创建或打开一个Excel表格,并将英雄和皮肤图片链接保存到表格中。
扩展功能
如果需要生成图表或显示处理后的信息,可以使用其他库进行处理。例如,使用matplotlib库生成柱状图或饼图,使用WordCloud库生成词云图等。
原文地址: https://www.cveoy.top/t/topic/f1c5 著作权归作者所有。请勿转载和采集!