程序员代码改变世界

使用Python抓取网页数据(一)

2015-12-22  本文已影响6681人  Mokyz

iOS python 爬虫 LoL


学习iOS开发有一段时间了,最近想做一个自己的App玩玩,自己比较喜欢玩LOL,所以想试着做一个LOL资料库的App,那么问题来了,这么多英雄,物品等数据怎么获取呢,总不能自己手敲吧。身为一个程序猿,这种事情怎么能自己来做呢。这时候就可以祭出神器Python了,我们直接进入主题。

一、 寻找数据


要想获取数据,首先得找到哪里有数据,各大游戏媒体网站都有自己的资料库,这里我选择官方的资料库,地址: LOL官方资料库

[LOL官方资料库](http://lol.qq.com/web201310/info-heros.shtml)

英雄,物品,技能,符文,天赋都有了,数据也是最新的。OK,猎物找到了,开始狩猎之前还要做一些准备。

二、 准备工作


python filename.py

三、 网页分析


我们所要抓取的数据有图片、文字或文件,图片和文件一般都是一个地址,文字可能存在于文件,也可能直接写在网页源码中。所以,我们先对网页进行分析,熟悉战场。
  在Safari中打开 LOL官方资料库,点击菜单“开发”-“显示页面源文件” 或 按快捷键 alt+command+a/u,进入开发者工具,点击“元素”标签

safari开发者工具

在我们把鼠标移动到不同行代码时,网页中当前代码对应的元素会被选中,这可以帮助我们快速定位到关键代码,我们先试着找到 九尾妖狐 头像的图片地址,如上图所示
<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

这里用到两个库,osrequests库,os python本身自带,requests需要手动下载,在终端执行

pip install requests

这是一个简单的下载和保存的例子,不过已经可以满足我们的需求了,只需要稍作修改就能完成我们的目标了。

未完待续

上一篇 下一篇

猜你喜欢

热点阅读