简单来说网络爬虫,是指抓取万维网信息的程序或者脚本,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 """ 导入库 """ import urllib import requests,sys """ 统一编码 """ reload(sys) sys.setdefaultencoding('utf-8') """ 获取英雄图片 """ def DownloadHeroImage(url): req=requests.get(url=url).json() HeroNum=len(req['list']) print "一共有%d个英雄"%HeroNum HeroImagesPath="HeroiImages" HeroList=req['list'] for Hero in HeroList: HeroImageUrl=Hero['cover'] HeroName=Hero['name']+".jpg" FileName=HeroImagesPath+"/"+HeroName print "正在下载%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)
执行结果如下:
扫描二维码关注公众号,回复:
1676003 查看本文章