您的位置:首页 > 编程语言 > Python开发

Python爬虫练习-查询lol隐藏分

2016-09-03 15:11 796 查看
玩英雄联盟游戏的小伙伴都知道游戏账号会有隐藏分,而英雄联盟也提供隐藏分查询系统,这里我们利用python爬虫来查询lol隐藏分。

首先我们点击到查询系统看一下,它的页面是这样子



然后我们点击查询,页面跳转后的样子



我们可以看到参数server表示哪个服务器(大区),name是我们的游戏ID,result参数设为true即可

接下来我们开始爬虫练习,以恕瑞玛为例,首先导入Python的requests和re模块

代码如下

# coding=utf-8
import requests
import re
url = 'http://word.lolhelper.cn/rank.php'
name = raw_input('input your name\n').decode('gb2312')
data = {'server': '16', 'name': name, 'result': 'true'}
html = requests.get(url, data)
html.encoding = 'utf-8'


由于是在Windows平台运行,所以输入name以gbk解码

现在我们获取到了查询结果的网页源代码

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>英雄联盟隐藏分查询系统</title>
<meta name="viewport" content="initial-scale=1, maximum-scale=1, user-scalable=no, minimal-ui">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="black">
<meta name="keywords" content="英雄小助手,英雄联盟隐藏分,英雄联盟隐藏分查询,LOL隐藏分,LOL隐藏分查询">
<meta name="description" content="英雄联盟隐藏分查询系统,快来查查你的隐藏分是多少吧">
<link rel="stylesheet" href="./dist/css/ratchet.min.css">
<link rel="stylesheet" href="./dist/css/app.css">
<script src="http://cdn.bootcss.com/jquery/1.11.3/jquery.min.js"></script>
</head>
<body>
<header class="bar bar-nav">
<button class="btn btn-link btn-nav pull-left" onclick="location.href='http://www.lolhelper.cn/'">
<span class="icon icon-left-nav"></span>
返回
</button>
<h1 class="title"><strong>英雄联盟隐藏分查询</strong></h1>
</header>
<div class="content">
<table class="gridtable" style="width:97%;margin-top:20px;">
<tr>
<td style="width:50%">游戏ID</td>
<td>沫小杰0</td>
</tr>
<tr>
<td>段位</td>
<td>青铜I</td>
</tr>
<tr>
<td>隐藏分</td>
<td>1150</td>
</tr>
<tr>
<td>排位胜场</td>
<td>9</td>
</tr>
<tr>
<td>排位胜率</td>
<td>37.5%</td>
</tr>
<tr>
<td>国服排名</td>
<td>第1636770名</td>
</tr>
</table>
<div class="card" style="margin-top:20px;">
<ul class="table-view">
<li class="table-view-cell">
<a class="navigate-right" href="http://mp.weixin.qq.com/s?__biz=MzA3MTYyMTExNA==&mid=203200082&idx=1&sn=7d32deeb5651769292c328b6d30c22a4#rd">
隐藏分对应段位
</a>
</li>
</ul>
</div>

<div class="card" style="margin-top:20px;">
<ul class="table-view">
<li class="table-view-cell">
<a class="navigate-right" href="http://www.lolhelper.cn/intro.php">
《英雄小助手》更多功能
</a>
</li>
</ul>
</div>
</div>

<div style="display:none">
<script>
var _hmt = _hmt || [];
(function() {
var hm = document.createElement("script");
hm.src = "//hm.baidu.com/hm.js?b092c7e3367a675dcd73d16b53d89cd4";
var s = document.getElementsByTagName("script")[0];
s.parentNode.insertBefore(hm, s);
})();
</script>
</div>

</body>
</html>


然后利用正则表达式匹配关键内容,这里我们匹配
<td></td>
里边的关键信息。

info = re.findall('<td>(.*?)</td>', html.text, re.S)
for each in info:
print each
raw_input()


现在一个查询爬虫就写好了,感觉超级简单,好了,现在我们测试一下我们的爬虫,我们双击我们写好的.py文件



接下来输入名字,点击回车



好了,这就是我们的效果图,是不是很简单,但有的时候什么也不显示,这是因为网络繁忙之类的原因,只要等一段时间就ok了,这里是以恕瑞玛为例,查询了一下博主的信息,博主的段位为青铜1,哈哈,菜的抠脚,这里主要是学爬虫。。。。。。,如果有小伙伴是大神,记得要带我飞啊
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: