前言部分

辅导员突然给我打了个 QQ 电话,吓得我赶紧接起电话。我以为是要约谈我成绩怎么怎么不好,接下来应该怎么怎么搞。。突然问我会不会爬虫,嘛。当然是不会辣,可莫名其妙就叫我写一个了。QAQ。

环境准备

  • 临时下载从未用过的 JetBrains PyCharm 2017.2.2 x64
  • 很早安装但是不经常用的 Python 3.6
  • pip3 和库:requests BeautifulSoup4 xlwt
  • 名单

爬虫部分

模拟抓取

首先,我们肯定是要模拟自己正常查询的这一个过程,抓一个包,发现很明显的特征 /query?zkzh=&xm=。事实上,我们通常还会变成 /query?zkzh=&xm=&yzm=。但是我们有特殊的绕过技巧 诶嘿。

然后使用 requests 和 beautifulsoup 可以轻松的分离出很多东西,我们发现我们要的东西都在 td 标签里,很快就分离了

字符串处理

但是输出来看,有个很恼火的东西,就是他长成这个样子

张三

                电子科技大学

                英语四级

                51002017******





                    107







                    177







                    108



                --

                --

哇 这可让我炸了毛了。我于是求助叶姐姐,问他正则匹配非空怎么弄。然后问来,发现不会用。于是跑去网上找资料,用 re 库,然后发现了更加痛苦的事情,我匹配串写不来=-=。。

想了好多办法,甚至想要用 C++ 来处理,感觉自己有点蠢,就先存了,然后在读回来,然后 split 掉,然后就可以拼成没有的串辣

大概像酱紫:
李四 电子科技大学 英语六级 510020171****** 86 145 96

嗯嗯 然后全部抓一遍就 ok 辣

Excel处理

发现 excel 拖出来可以 txt 很好看,粘贴回去发现就是一坨。。。。

于是就写了第二个程序来处理。

处理过程非常简单,就对对应的格子写一下,然后人工排版一下美滋滋。

后记

听说爬虫是有框架的,来(lan)日(de)再(qu)说(xue)

爬虫应该是基本技能之一,啊喂=-=

部分展示

https://github.com/EDGsheryl/CET-4-6-score-catch


上山不易,披荆斩棘才能善始;下岭更难,临渊履薄方可令终