美文网首页程序员
用Python来做些有意思的事

用Python来做些有意思的事

作者: c37d344afd22 | 来源:发表于2017-03-23 12:40 被阅读303次

    人生苦短,我用Python

    • 拉钩北京Python招聘分析
    • 自动维护iOS更新版本的脚本

    拉钩Python招聘分析

    大家都知道拉钩是一个比较靠谱的IT求职平台,所以我也就跑去拉钩抓取了一下北京Python招聘的信息

    拉钩的招聘信息使用Ajax来动态获取的,我们用Chrome自带的开发者工具抓取了一下,发现如下请求

    点进去看一下请求参数

    queryString里就是城市,另一个参数不知道是用来干嘛的(需要额外的结果?)
    请求参数里需要关注的就两个,一个是pn,也就是PageNumber,页数,另一个就是查询的关键字,这里我们是python

    最后看一下请求结果

    由于我想知道的是北京招聘Python是后端多,还是爬虫多,所以看了一下返回的json,发现这个secondType还是比较靠谱的,基本上和招聘的内容一致,所以就可以取出这个值来进行分析。

    所以这个时候代码就很好写了,写一个循环,来增加页数,不断地请求接口就ok。

    but,事情永远不会这么简单,当我兴高采烈的用多进程来跑程序的时候,程序崩溃了

    赶紧查看了一下日志,发现转json的时候出错了,返回的页面是这样的

    难道是老子请求太快报异常了?!嗯,tmd就是这个样子。

    这里就有两种解决方案:

    1. 隔几秒再请求
    2. IP代理池

    像我这么热爱学习的孩子,果断选择了最简单的第一种方案

    当然第二种也是比较简单的,单独写个爬虫来爬取免费的IP代理网站,然后提供给当前爬虫程序使用,放个代理的网址,爬好之后如果用requests的话就可以这么用requests.get(url, proxies=proxies),别的我不会。

    最后用matplotlib做个饼图

    嗯,这是以前的图,就这么看吧。最近我的anaconda出问题了。后端的工作占比达到了91.8%,爬虫方向我记得没错好像是百分之三点多

    自动维护iOS版本

    我在公司做的是Android开发,iOS也是我的好基友,啊,好朋友。学py学的都gay里gay气的。

    了解过移动开发的人应该都了解,iOS的测试包不能直接安装到手机上,要通过一个蒲公英的网站来上传IPA,并且扫描二维码安装。而我们公司内部也有一个维护iOS测试包链接的后台。当然这个链接就是链到蒲公英那里。他每次发布新的测试包都要去我们公司内部的后台维护链接。so,就有了这个脚本。

    首先要登录到蒲公英,用requests管理cookie、session的话会比较简单,s = requests.session()。然后用s来请求就可以了。

    登录成功后去查看版本信息,https://www.pgyer.com/manager/dashboard/app/xxxxxx
    后面的xxxx就是对应的app的一个码,这个码可以通过xpath或者bs4之类的获取到。然后进入这个网址,这个网址也是通过ajax来添加版本信息的,所以我们一样还是用Chrome来抓取一下,很简单

    一样的套路,我们直接就可以获取到这些数据,当前version为5,用一个变量来存储起来,每五分钟或者十分钟去请求一次,请求回来后和当前version对比,如果发现了新版本,则把链接发送到我们自己的服务器上。

    当然了,我们自己的服务器也没有给我接口,我是用selenium去模拟的,也是比较简单。

    上传成功后会给他发送邮件。

    这些功能加起来也不到100行代码,还是比较方便的。

    嗯,我现在还是个初学者。个人认为自己用爬虫玩一玩的话这些工具或者框架就够用了

    • requests
    • scrapy
    • selenium
    • lxml

    如果有大神看到这篇文章,希望能给我在爬虫方向个指引。没准以后我会转Python爬虫方向呢。


    最后

    爱小丽

    相关文章

      网友评论

        本文标题:用Python来做些有意思的事

        本文链接:https://www.haomeiwen.com/subject/mspznttx.html