简单来说网络爬虫,是指抓取万维网信息的程序或者脚本,Python在网络爬虫有很大优势,今天我们用Python实现获取王者荣耀相关数据,做一个小助手:
前期准备,环境搭建:
Python2.7
sys模块提供了许多函数和变量来处理 Python 运行时环境的不同部分;
urllib模块提供了一系列用于操作URL的功能,爬虫所需要的功能,基本上在urllib中都能找到,学习这个标准库,可以更加深入的理解后面更加便利的requests库;
requests是python实现的简单易用的HTTP库,使用起来比urllib简洁很多,因为是第三方库,所以使用前需要cmd命令安装,pip install requests ;
Python在GUI编程实现图形界面,Python 提供了多个图形开发界面的库,Tkinter,tkMessageBox;
首先获取英雄图片,代码如下:
#-*- coding: utf-8 -*-#!/usr/bin/env python#@Time : 2018/6/15 17:12#@Desc :#@File : KingGlory.py#@Software: PyCharm
"""导入库"""
importurllibimportrequests,sys"""统一编码"""reload(sys)
sys.setdefaultencoding('utf-8')"""获取英雄图片"""
defDownloadHeroImage(url):
req=requests.get(url=url).json()
HeroNum=len(req['list'])print "一共有%d个英雄"%HeroNum
HeroImagesPath="HeroiImages"HeroList=req['list']for Hero inHeroList:
HeroImageUrl=Hero['cover']
HeroName=Hero['name']+".jpg"FileName=HeroImagesPath+"/"+HeroNameprint "正在下载%s的图片"%Hero['name']
urllib.urlretrieve(url=HeroImageUrl, filename=FileName)
执行方法如下:if __name__ == '__main__':#英雄列表URL地址
heros_url = "http://gamehelper.gm825.com/wzry/hero/list?channel_id=90009a&app_id=h9044j&game_id=7622&game_name=%E7%8E%8B%E8%80%85%E8%8D%A3%E8%80%80&vcode=12.0.3&version_code=1203&cuid=2654CC14D2D3894DBF5808264AE2DAD7&ovr=6.0.1&device=Xiaomi_MI+5&net_type=1&client_id=1Yfyt44QSqu7PcVdDduBYQ%3D%3D&info_ms=fBzJ%2BCu4ZDAtl4CyHuZ%2FJQ%3D%3D&info_ma=XshbgIgi0V1HxXTqixI%2BKbgXtNtOP0%2Fn1WZtMWRWj5o%3D&mno=0&info_la=9AChHTMC3uW%2BfY8%2BCFhcFw%3D%3D&info_ci=9AChHTMC3uW%2BfY8%2BCFhcFw%3D%3D&mcc=0&clientversion=&bssid=VY%2BeiuZRJ%2FwaXmoLLVUrMODX1ZTf%2F2dzsWn2AOEM0I4%3D&os_level=23&os_id=dc451556fc0eeadb&resolution=1080_1920&dpi=480&client_ip=192.168.0.198&pdunid=a83d20d8"DownloadHeroImage(heros_url)
执行结果如下: