iOS
python
爬虫
LoL
学习iOS开发有一段时间了,最近想做一个自己的App玩玩,自己比较喜欢玩LOL,所以想试着做一个LOL资料库的App,那么问题来了,这么多英雄,物品等数据怎么获取呢,总不能自己手敲吧。身为一个程序猿,这种事情怎么能自己来做呢。这时候就可以祭出神器Python了,我们直接进入主题。
一、 寻找数据
要想获取数据,首先得找到哪里有数据,各大游戏媒体网站都有自己的资料库,这里我选择官方的资料库,地址: LOL官方资料库 。
英雄,物品,技能,符文,天赋都有了,数据也是最新的。OK,猎物找到了,开始狩猎之前还要做一些准备。
二、 准备工作
-
浏览器:我们需要用浏览器查看网页源码,Safari 和 Chrome 都可以,这里我选择Safari,感觉 Safari 的元素查看更方便一点,可以快速定位到我们需要的地址。Safari默认没有“开发”选项,需要到“偏好设置”-“高级”中勾选
-
编辑器:写代码当然得需要编辑器了,我使用的是 VS Code,是微软推出的一个编辑器,风格也是我喜欢的,但是比较蛋疼,没有 Python 的自动补全,也可能需要下载其他插件或工具才可以。反正我这里我也不用了,有知道的伙伴还请多多赐教。不过 VS Code 使用起来感觉还是不错的。推荐试试
调试工具:我没有使用 Python 自己的 IDE,而 VS Code 也只是编辑器而已,调试就不行了,所以我这里直接使用 OS X 的终端调试,毕竟感觉diaodiao哒~,调试时只需要cd到python文件目录,执行命令
python filename.py
- 库:做网络爬虫,需要一些Python的库。有些 Python 自带,有些还需要自己下载,下载可以使用
pip
或easy_install
,这两个工具都需要另外下载,可参考我的另一篇简书OS X下Pip的安装,具体需要什么库我们使用时再说。
万事俱备
三、 网页分析
我们所要抓取的数据有图片、文字或文件,图片和文件一般都是一个地址,文字可能存在于文件,也可能直接写在网页源码中。所以,我们先对网页进行分析,熟悉战场。
在Safari中打开 LOL官方资料库,点击菜单“开发”-“显示页面源文件” 或 按快捷键 alt+command+a/u
,进入开发者工具,点击“元素”标签
在我们把鼠标移动到不同行代码时,网页中当前代码对应的元素会被选中,这可以帮助我们快速定位到关键代码,我们先试着找到 九尾妖狐 头像的图片地址,如上图所示
<img src="http://ossweb-img.qq.com/images/lol/img/champion/Ahri.png"
。
四、小试牛刀
现在我们就来试试把这张图片下载到本地。
创建Python文件,可以使用VSCode新建空白文件,保存时后缀为.py,也可以在终端执行命令
cd Desktop/ //进入Desktop文件夹
touch filename.py //在当前文件夹内新建文件
用编辑器打开文件,编写代码:
#-*-coding:utf8-*-
import os, requests
img_url = "http://ossweb-img.qq.com/images/lol/img/champion/Ahri.png"
# 截取文件名
img_name = os.path.basename(img_url)
# 下载图片
img = requests.get(img_url)
# 打开本地文件
# 'wb'表示以二进制写入模式打开文件
file = open('/Users/apple/img//' + img_name, 'wb')
# 写入文件
file.write(img.content)
# 关闭文件
file.close
这里用到两个库,os
和requests
库,os
python本身自带,requests
需要手动下载,在终端执行
pip install requests
这是一个简单的下载和保存的例子,不过已经可以满足我们的需求了,只需要稍作修改就能完成我们的目标了。
未完待续