Python爬取王者荣耀皮肤图片并生成词云图
使用Python爬取王者荣耀皮肤图片并生成词云图
本教程将使用Python编写代码,爬取王者荣耀新版皮肤图片,并将其保存到SQLite数据库或Excel表格中。此外,还将使用jieba库进行中文分词,并生成皮肤名称的词云图。
主要任务:
- 加载需要用到的各种第三方库,如requests, BeautifulSoup4, lxml, sqlite3, jieba, WordCloud, openpyxl等。
- 爬取王者荣耀皮肤图片的网站信息。
- 将信息保存到SQLite数据库表中或者Excel表中。
- 生成图表或显示处理后的信息内容。
代码示例:
import requests
from bs4 import BeautifulSoup
import sqlite3
import openpyxl
import jieba
from wordcloud import WordCloud
# 爬取新版王者荣耀皮肤图片
url = 'https://pvp.qq.com/web201605/herolist.shtml'
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36'}
res = requests.get(url, headers=headers)
res.encoding = 'gbk'
soup = BeautifulSoup(res.text, 'lxml')
herolist = soup.select('.herolist > li')
# 将信息保存到sqlite数据库表中
conn = sqlite3.connect('herolist.db')
cursor = conn.cursor()
cursor.execute('CREATE TABLE IF NOT EXISTS herolist (name TEXT, skin TEXT)')
for hero in herolist:
name = hero.select_one('.ename').text
skins = hero.select_one('.skin-name').text.strip().split('、')
for skin in skins:
cursor.execute('INSERT INTO herolist VALUES (?, ?)', (name, skin))
conn.commit()
conn.close()
# 将信息保存到Excel表中
wb = openpyxl.Workbook()
ws = wb.active
ws.append(['英雄名', '皮肤名'])
for hero in herolist:
name = hero.select_one('.cname').text
skins = hero.select_one('.skin-name').text.strip().split('、')
for skin in skins:
ws.append([name, skin])
wb.save('herolist.xlsx')
# 生成词云图
conn = sqlite3.connect('herolist.db')
cursor = conn.cursor()
cursor.execute('SELECT skin FROM herolist')
skins = cursor.fetchall()
skins_text = ''
for skin in skins:
skins_text += skin[0] + ' '
words = jieba.cut(skins_text, cut_all=False)
words = ' '.join(words)
wc = WordCloud(width=800, height=600, background_color='white', font_path='simhei.ttf')
wc.generate(words)
wc.to_file('skins_wordcloud.png')
代码说明:
- 使用requests库获取目标网站的HTML代码。
- 使用BeautifulSoup4库解析HTML代码,获取英雄名称和皮肤名称信息。
- 使用sqlite3库将信息保存到数据库表中,或使用openpyxl库将信息保存到Excel表格中。
- 使用jieba库对皮肤名称进行中文分词,并使用WordCloud库生成词云图。
注意事项:
- 确保已经安装了所有必要的第三方库。
- 需要在代码中设置正确的网站URL和User-Agent信息。
- 确保代码中的数据库文件名和Excel文件名是正确的。
- 需要根据自己的需要修改代码中相关参数,例如词云图的尺寸、背景颜色等。
本教程仅供学习参考,请勿用于任何非法目的。
希望本教程对您有所帮助!
原文地址: https://www.cveoy.top/t/topic/oQks 著作权归作者所有。请勿转载和采集!