Python爬虫实战:爬取王者荣耀英雄皮肤图片并保存到Excel
Python爬虫实战:爬取王者荣耀英雄皮肤图片并保存到Excel
本教程将带你使用Python编写一个爬虫程序,从王者荣耀官网爬取英雄韩信和李白的皮肤图片,并将信息保存到Excel表格中。
所需库:
- requests:用于发送HTTP请求获取网页内容。* BeautifulSoup4:用于解析HTML网页,提取所需数据。* lxml:作为BeautifulSoup的解析器,速度更快。* openpyxl:用于操作Excel文件。
步骤:
-
**安装所需库:**bashpip install requests beautifulsoup4 lxml openpyxl
-
**编写Python代码:**pythonimport requestsfrom bs4 import BeautifulSoupimport openpyxl
爬取英雄皮肤图片函数def crawl_skin_images(hero_url, hero_name): res = requests.get(hero_url) soup = BeautifulSoup(res.text, 'lxml') skin_list = soup.select('.pic-pf-list li') # 初始化皮肤信息列表,加入默认皮肤 skin_data = [[hero_name, '默认皮肤', '默认皮肤.jpg']] for skin in skin_list: skin_name = skin.select('.pic-pf-name')[0].text skin_img_url = skin.select('.pic-pf-img img')[0]['src'] skin_img_res = requests.get(skin_img_url) # 保存图片 with open(f'{skin_name}.jpg', 'wb') as f: f.write(skin_img_res.content) # 添加皮肤信息到列表 skin_data.append([hero_name, skin_name, f'{skin_name}.jpg']) return skin_data
爬取韩信皮肤图片hanxin_data = crawl_skin_images('https://pvp.qq.com/web201605/herodetail/198.shtml', '韩信')
爬取李白皮肤图片libai_data = crawl_skin_images('https://pvp.qq.com/web201605/herodetail/131.shtml', '李白')
保存到Excel表中wb = openpyxl.Workbook()ws = wb.activews.title = '皮肤信息'ws['A1'] = '英雄'ws['B1'] = '皮肤'ws['C1'] = '图片路径'
写入数据for data in hanxin_data + libai_data: ws.append(data)
wb.save('皮肤信息.xlsx')
代码解释:
- 首先,我们导入所需的库。2. 定义一个函数
crawl_skin_images来爬取指定英雄的皮肤图片并返回皮肤信息列表。3. 分别调用函数爬取韩信和李白的皮肤图片及信息。4. 创建Excel工作簿和工作表,并设置列名。5. 循环写入所有英雄的皮肤信息到Excel表格中。6. 保存Excel文件。
运行代码后,你将在程序所在目录下得到一个名为'皮肤信息.xlsx'的Excel文件,其中包含了韩信和李白的所有皮肤名称及本地图片路径。
原文地址: https://www.cveoy.top/t/topic/f1c4 著作权归作者所有。请勿转载和采集!