Python 爬取王者荣耀皮肤图片:设计可运行代码

本代码演示了如何使用 Python 编写一个窗体应用系统,爬取王者荣耀皮肤图片并保存到 SQLite 数据库和 Excel 表格中。

主要任务:

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

  1. 加载需要用到的各种第三方库,如 requestsBeautifulSoup4lxmlsqlite3jiebaWordCloudopenpyxl 等。
  2. 爬取一个网站信息
  3. 将信息保存到 SQLite 数据库表中或者 Excel 表中
  4. 生成图表或显示处理后的信息内容

代码示例:

import requests
from bs4 import BeautifulSoup
import sqlite3
import openpyxl

# 爬取网站信息
def get_info():
    url = 'https://pvp.qq.com/web201605/herolist.shtml'
    r = requests.get(url)
    r.encoding = r.apparent_encoding
    soup = BeautifulSoup(r.text, 'lxml')
    hero_list = soup.find_all('a', class_='herolist-nav__icon')
    hero_info = []
    for hero in hero_list:
        name = hero.find('img')['alt']
        skin_num = hero.find('span').text
        skin_url = hero.find('img')['src']
        hero_info.append((name, skin_num, skin_url))
    return hero_info

# 保存到sqlite数据库表中
def save_to_sqlite(data):
    conn = sqlite3.connect('hero.db')
    c = conn.cursor()
    c.execute('''CREATE TABLE IF NOT EXISTS hero
                 (name TEXT, skin_num INTEGER, skin_url TEXT)''')
    for d in data:
        c.execute('INSERT INTO hero VALUES (?, ?, ?)', d)
    conn.commit()
    conn.close()

# 保存到Excel表中
def save_to_excel(data):
    wb = openpyxl.Workbook()
    ws = wb.active
    ws.title = 'hero'
    ws.cell(row=1, column=1, value='name')
    ws.cell(row=1, column=2, value='skin_num')
    ws.cell(row=1, column=3, value='skin_url')
    for i, d in enumerate(data):
        ws.cell(row=i+2, column=1, value=d[0])
        ws.cell(row=i+2, column=2, value=d[1])
        ws.cell(row=i+2, column=3, value=d[2])
    wb.save('hero.xlsx')

# 主函数
if __name__ == '__main__':
    data = get_info()
    save_to_sqlite(data)
    save_to_excel(data)
    print('数据已保存到数据库和Excel表中')

代码解析:

  1. 导入库: 导入必要的库,如 requests 用于网页请求,BeautifulSoup 用于解析网页结构,sqlite3 用于操作 SQLite 数据库,openpyxl 用于操作 Excel 文件。
  2. 获取信息: 使用 requests 库获取网站内容,并使用 BeautifulSoup 解析网页结构,提取英雄名称、皮肤数量和皮肤图片链接。
  3. 保存到数据库: 使用 sqlite3 库创建数据库表并保存爬取的信息。
  4. 保存到 Excel: 使用 openpyxl 库创建 Excel 文件并保存爬取的信息。

注意事项:

  • 确保你已经安装了所有必要的库。
  • 爬取网站信息时,请尊重网站的robots.txt协议。
  • 在使用爬虫工具时,请遵守法律法规和道德规范。

希望这篇文章能帮助你了解如何使用 Python 爬取网站信息并保存到数据库和 Excel 表格中。


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

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