使用Python爬取王者荣耀皮肤图片并生成词云图

本教程将使用Python编写代码,爬取王者荣耀新版皮肤图片,并将其保存到SQLite数据库或Excel表格中。此外,还将使用jieba库进行中文分词,并生成皮肤名称的词云图。

主要任务:

  1. 加载需要用到的各种第三方库,如requests, BeautifulSoup4, lxml, sqlite3, jieba, WordCloud, openpyxl等。
  2. 爬取王者荣耀皮肤图片的网站信息。
  3. 将信息保存到SQLite数据库表中或者Excel表中。
  4. 生成图表或显示处理后的信息内容。

代码示例:

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')

代码说明:

  1. 使用requests库获取目标网站的HTML代码。
  2. 使用BeautifulSoup4库解析HTML代码,获取英雄名称和皮肤名称信息。
  3. 使用sqlite3库将信息保存到数据库表中,或使用openpyxl库将信息保存到Excel表格中。
  4. 使用jieba库对皮肤名称进行中文分词,并使用WordCloud库生成词云图。

注意事项:

  1. 确保已经安装了所有必要的第三方库。
  2. 需要在代码中设置正确的网站URL和User-Agent信息。
  3. 确保代码中的数据库文件名和Excel文件名是正确的。
  4. 需要根据自己的需要修改代码中相关参数,例如词云图的尺寸、背景颜色等。

本教程仅供学习参考,请勿用于任何非法目的。

希望本教程对您有所帮助!

Python爬取王者荣耀皮肤图片并生成词云图

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

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