专栏名称: 数盟
数盟(数据科学家联盟)隶属于北京数盟科技有限公司,数盟致力于成为培养与发现“数据科学家”的黄埔军校。 数盟服务包括:线下活动、大数据培训。 官网:http://dataunion.org,合作:[email protected]
目录
相关文章推荐
CDA数据分析师  ·  【干货】画用户画像与找相亲对象一样简单 ·  昨天  
大数据文摘  ·  美国开始禁用DeepSeek,下载还要判刑? ... ·  2 天前  
大数据分析和人工智能  ·  用DeepSeek帮我接财神 ·  5 天前  
数据派THU  ·  【ICLR2025】流媒体视频理解与多轮交互 ... ·  5 天前  
51好读  ›  专栏  ›  数盟

如果高考考Python,这些题目你会做吗?

数盟  · 公众号  · 大数据  · 2018-06-04 22:00

正文

高考赠言

春去秋来又是一年高考季,首先让我们祝福即将踏入考场的莘莘学子,希望他们能考上理想的大学,虽然对有些人来说大学只是换个地方敲(da)代(you)码(xi),但还是祝愿他们能去好学校,毕竟网速快点。



言归正传,相信大家都知道Python入选山东小学教材、浙江省信息高考的事儿,那么如果有一天Python正式进入高考,会有哪些题目?你又能不能做出来呢?

那么今天就斗胆出一回题,请诸位高才作答——

一、送分题

完形填空

人生苦短,_______。

答案:我用Python

二、基础题

简答

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

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

三、实操题

项目考核

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

参考答案:

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

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

♦单个英雄


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

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


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

♦英雄数字

在所有英雄列表中,打开浏览器的开发者工具,刷新,找到一个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中查看该图片的网址。会发现皮肤图片是有规律的。我们可以用这样的方式来模拟图片网址:







请到「今天看啥」查看全文