更多课程 选择中心


Python培训

400-996-5531

也许下一年python就正式出现在高考试题中...

  • 发布:tanzhouedu
  • 来源:Python中文社区
  • 时间:2018-06-04 15:25

本周是高考周,莘莘学子们将为十几年来的埋头苦读交上一份答卷,让我们先把最美好的祝福送给他们。接下来,有个问题是假如python加入到高考序列,这些python考试题你能轻松应对吗?

python考试题1、送分题

完形填空:人生苦短,_______。

python考试题2、基础题

简答:这两个参数是什么意思:*args,**kwargs?我们为什么要使用它们?(某python面试题)

python考试题3、实操题

项目考核:如何用Python爬取《王者荣耀》皮肤图片?(新手爬虫实战案例)

第一题答案:

我用Python

第二题答案:

如果我们不确定要往函数中传入多少个参数,或者我们想往函数中以列表和元组的形式传参数时,那就使要用*args;如果我们不知道要往函数中传入多少个关键词参数,或者想传入字典的值作为关键词参数时,那就要使用**kwargs。args和kwargs这两个标识符是约定俗成的用法,你当然还可以用*bob和**billy,但是这样就并不太妥。

第三题参考答案:

首先进入所有英雄列表,你会看到下图:

所有英雄列表

在这个网页中包含了所有的英雄,头像及英雄名称。

♦单个英雄

点击其中一个英雄的头像,例如第一个“百里守约”,进去后如下图:

点击其中一个英雄的头像进入后

△网址为https://pvp.qq.com/web201605/herodetail/196.shtml

网址中196.shtml以前的字符都是不变的,变化的只是196.shtml。而196是“百里守约”这个英雄所对应的数字,要想爬取图片就应该进入每个英雄皮肤图片所在的网址,而所有英雄的网址的关键就是每个英雄对应的数字。那么这些数字怎么找呢?

♦英雄数字

在所有英雄列表中,打开浏览器的开发者工具,刷新,找到一个json格式的文件,如图所示:

所有英雄列表中,找到一个json格式的文件

这时就会看到所有英雄对应的数字了。在上图所示的Headers中可以找到该json文件对应的网址形式。将其导入Python,把这些数字提取出来,然后模拟出所有英雄的网址即可

小节代码如下(Ubuntu(Linux)系统):

#爬取王者荣耀英雄图片

#导入所需模块

import requests

import re

import os

#导入json文件(里面有所有英雄的名字及数字)

url='http://pvp.qq.com/web201605/js/herolist.json' #英雄的名字json

head={'User-Agent':'换成你自己的head'}

html = requests.get(url,headers = head)

html=requests.get(url)

html_json=html.json()

#提取英雄名字和数字

hero_name=list(map(lambda x:x['cname'],html_json)) #名字

hero_number=list(map(lambda x:x['ename'],html_json)) #数字

♦下载图片

现在可以进入所有英雄的网址并爬取网址下的图片了。进入一个英雄的网址,打开开发者工具,在NetWork下刷新并找到英雄的皮肤图片(记住是大图)。如图所示:

所有英雄的网址并爬取网址下的图片

然后在Headers中查看该图片的网址。会发现皮肤图片是有规律的。我们可以用这样的方式来模拟图片网址:'#/images/yxzj/img201606/skin/hero-info/'+str(v)+'/'+str(v)+'-bigskin-'+str(u)+'.jpg',在该网址中只有str(v)与str(u)是改变的(str( )是Python中的一个函数),str(v)是英雄对应的数字,str(u)只是图片编号,例如第一个图片就是1,第二个就是2,第三个……而一个英雄的皮肤应该不会超过12个(可以将这个值调到20等)。接着就是下载了。

下载的代码如下(有些地址要换成你自己的):

下载的代码如下

onehero本行完整代码见图二

onehero本行完整代码

执行完上面的代码后只需要执行main函数就行了:

mail:()

爬取下来的图片是这样,每个文件夹里面是该英雄对应的图片,如下图:

用python爬取下载的图片如下

恭喜你阅读完了本文,小试牛刀之后感觉怎么样呢?你对python正式进入到高考序列有什么看法呢?或者你在python编程的学习中有什么困难呢?欢迎你来达内python培训机构进行咨询。

免责声明:内容和图片源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

预约申请免费试听课

填写下面表单即可预约申请免费试听! 怕学不会?助教全程陪读,随时解惑!担心就业?一地学习,可全国推荐就业!

上一篇:python新功能|python运行时或将添加透明度
下一篇:2018年数据科学和机器学习工具调查结果,python完胜R语言

达内python培训机构就业喜报,用事实告诉你月薪过万不是梦!

python资讯|招聘AI人才开出4000万年薪,真的值吗?

你想自学python语言,因为它是黑客语言?

未来有两种人,会Python的和不懂Python的小学生?

Copyright © 2023 Tedu.cn All Rights Reserved 京ICP备08000853号-56 京公网安备 11010802029508号 达内时代科技集团有限公司 版权所有

选择城市和中心
黑龙江省

吉林省

河北省

湖南省

贵州省

云南省

广西省

海南省