我用python做了个测词汇量的小工具

大家好,作为爱学习的自己,我特意用python做了个测词汇量的小工具,让自己每天都能够快乐的学习!

1.页面分析

这次我们采用的是扇贝网来进行词汇量测试,如图:

图片

我们还是老规矩,首先按F12打开开发者工具,然后点击开始。然后在name里面寻找到存有我们想要数据的网页,如图:

图片

嗷,我们发现源网页中,并没有我们想要的数据,那么这个网页就是使用动态加载的网页(关于这类网页之后会专门出一篇文章来进行讲解,这里直接将解决办法),那么我们就需要勾选住“Preserve log”,然后重新刷新页面,然后观察name里面新增的网页,如图

图片

果然,我们发现了我们想要的数据,接下来我们随便点击一个进行下一步,我选择的是考研,然后找到存储我们想要的数据的网页,观察它的url,我们发现:

图片

那个NGEE好熟悉啊!不就是我们第一步寻找到的数据嘛!我们用如下代码将url构造出来:

ceshi_danci = requests.get('https://www.shanbay.com/api/v1/vocabtest/vocabularies/?category='+ciku)

2.开始测试

我们已经找到了数据存放的网页,那么我们现在就可以直接对该网页发起请求然后获取数据,代码如下:

ceshi_danci = requests.get('https://www.shanbay.com/api/v1/vocabtest/vocabularies/?category='+ciku)
#获取本轮测试的50个单词
jiexi_ceshi_danci = ceshi_danci.json()

我们将获取的单词,让用户开始进行测试,将用户认识和不认识的单词分别记录下来,对于认识的单词,给用户选项让用户再次验证自己的印象,此时仍将用户认识的单词和不认识的单词分别记录,最后生成一份报告给用户,部分代码如下:

a = 0
for i in jiexi_ceshi_danci['data']:
   a = a + 1
  print("\n第" + str(a) + '个:' + i['content'])  # 加一个\n,用于换行。
   # 让用户输入自己是否认识。
  answer = input('认识请敲Y,否则敲Enter:')
   # 如果用户认识:
   if answer == 'Y':
       renshi_danci.append(i['content'])
       # 就把这个单词,追加进列表know_danci。
       know_danci.append(i)

   else:
       # 就把这个单词,追加进列表no_danci。
       no_danci.append(i)

总结

这篇文章难度不大,但是非常考验大家的基本功,数据的提取较为麻烦,希望大家可以跟着代码好好复现一下,温故而知新!

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值