非常适合新手的一个Python爬虫项目: 打造一个英文词汇量测试脚本!
最近朋友在苦学英文,但是又不知道自己学的怎么样了,直到有一天,他找到了扇贝网,里面有个“评估你的单词量”功能非常的好,就推荐给我了!
![](http://upload-images.jianshu.io/upload_images/8924411-3059e9b850968ad6.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
今天我们就用python做一个小的爬虫,然后自己写一个脚本来实现这个功能吧!
目标:打造一个英文词汇量测试脚本
url:扇贝网
工具:python3.6、pycharm、requests库
思路:
和网页一样,总共分三步:
![](http://upload-images.jianshu.io/upload_images/8924411-7646939b6d06ecba.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
先来看看网页中数据,用F12开发者工具抓包就可以
为了更好的演示,这里网页缩小了。
![](http://upload-images.jianshu.io/upload_images/8924411-b5a8d8f5d7bd1e7f.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
点击开始,在来看看出现了什么
![](http://upload-images.jianshu.io/upload_images/8924411-0dbb05d3f3ff52c6.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
这里我们抓到了一个包,这个json数据中包含了所有的类别或者说是级别,一共十大类,我们点击”响应”验证下
![](http://upload-images.jianshu.io/upload_images/8924411-111d51cbc1f3df1f.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
可以看到,显示内容在我们抓到的json数据中,但是0和1中的内容有的一样,有的不一样是什么鬼?不要急,我们先选择‘高考’,在抓下包看看
![](http://upload-images.jianshu.io/upload_images/8924411-b0e51a2ec655f8c9.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
选择高考后,网页直接给出了第二步,50个单词选择,注意,先看下抓到的json数据的真实地址
![](http://upload-images.jianshu.io/upload_images/8924411-b13da58e2538be69.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
还记得我们在第一步抓到的包吗?0里面就是这个真实地址最后的category的值,1里面是对应的显示在网页中的内容,好了,第二步的真实url也被我们找到规律了,那下来就是分析单词了,看看有什么规律,我们点开一个看看
![](http://upload-images.jianshu.io/upload_images/8924411-f8f9a447b07ce67e.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
有几个值非常重要,也是我们的目标:
Content的值是显示的单词
Definition_choices是需要我们判断的多个词义,中间包含有正确的词义,每个词义中的rank值应该是该词义的标识
rank值是正确的词义,也由此判断上述多个词义中的正确词义
ok,到这里我们就可以开始写代码了,具体过程就不一一说明了,没有反爬,全部是json数据的读取和判断,先放上我的代码和运行效果
![](http://upload-images.jianshu.io/upload_images/8924411-ec7f9bbeb487f016.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
python学习交流群542110741
请大家忽略我那渣渣的英语水平和排版
![](http://upload-images.jianshu.io/upload_images/8924411-2845ea0b2a048df1.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
由于这个网站非常简单,仅仅抓包就可以得到所有数据,没有任何反爬,所以,也是我们新手练手的好地方,大家都可以试试,如果有作出更漂亮的脚本,欢迎大家在评论区一起分享!
posted on 2018-06-05 13:51 python小玩家 阅读(5550) 评论(0) 编辑 收藏 举报