美文网首页
广州落户公示名单抓取脚本

广州落户公示名单抓取脚本

作者: 大蓝藻 | 来源:发表于2018-06-13 12:10 被阅读0次

    简介

    落户广州有个环节是政府公示落户人员的名单和审核结果,地址是:关于引进人才入户人员名单的公示
    由于这个页面不支持搜索,只能肉眼查找,要手动点击几十次“下一页”,效率非常低,因此小蓝藻打算写一个脚本,把所有公示名单都抓出来。

    这样不仅方便查找,并且还可以做自动匹配,一旦找到名字,就发送通知,更方便及时知道公示结果。

    代码

    #!/usr/bin/env python
    # -*- coding: utf-8 -*-
    import urllib,urllib2
    from bs4 import BeautifulSoup
    import json
    import time
    import sys
    
    
    url='http://www.hrssgz.gov.cn/vsgzpiapp01/GZPI/Gateway/PersonIntroducePublicity.aspx'
    
    req = urllib2.Request(url = url)
    res = urllib2.urlopen(req)
    res = res.read()
    
    soup = BeautifulSoup(res, 'html.parser')
    
    pageCount = soup.find(id="PageCount").text
    pageRange = int(pageCount) + 1
    
    
    for i in range(1,pageRange):
        req = urllib2.Request(url = url)
        res = urllib2.urlopen(req)
        res = res.read()
    
        soup = BeautifulSoup(res, 'html.parser')
        key = soup.find(id="__VIEWSTATE")["value"]
    
        params = {
             '__VIEWSTATE':key,
             '__EVENTTARGET':'LinkButton1',
             '__EVENTARGUMENT':'',
             'ToPage':i
        }
    
        params = urllib.urlencode(params)
    
        request = urllib2.Request(url = url,data = params)
        response = urllib2.urlopen(request).read()
        soup2 = BeautifulSoup(response, 'html.parser')
        pageresult = soup2.find(id="data_field")
        print pageresult
    

    观察了这个公示页面的前端代码,发现每次在点击“下一页”、“跳转”等按钮的时候,会触发对应的方法,然后传递相应信息到后端,后端再返回对应的数据。

    由于我要遍历所有页面的数据,因此调用传递页码的方式来获取所有数据。

    返回的数据都是html,可读性很差,因此我采用BeautifulSoup库来解析页面,将展示数据的table展示出来

    由于网站不需要做任何登陆验证,所以代码就非常简单啦,直接用python运行这个脚本就可以了,结果如下:

    $ python do.py
    <td id="data_field">
    <table bgcolor="Silver" border="0" cellpadding="0" cellspacing="1" class="listtable" id="DDDeclareInfo" rules="all" width="100%">
    <tr align="center" class="ListHeader">
    <td>姓名</td><td>单位名称</td><td>批复结果</td><td>审批单位</td><td>公示开始时间</td><td>公示结束时间</td>
    </tr><tr class="ListItem">
    <td>黄铭川</td><td>广州市保瑞物流有限公司</td><td>同意</td><td> 广州市南沙区人力资源和社会保障局</td><td>2018年6月13日 11:27</td><td>2018年6月21日 11:27</td>
    </tr><tr class="ListAltern">
    <td>朱雪琦</td><td>广州丰铁汽车部件有限公司</td><td>同意</td><td> 广州市南沙区人力资源和社会保障局</td><td>2018年6月13日 11:27</td><td>2018年6月21日 11:27</td>
    </tr><tr class="ListItem">
    <td>戴森</td><td>中信环境技术(广州)有限公司</td><td>同意</td><td> 广州市南沙区人力资源和社会保障局</td><td>2018年6月13日 11:27</td><td>2018年6月21日 11:27</td>
    </tr><tr class="ListAltern">
    <td>林茵</td><td>广州市南沙区珠江街社区综合管理服务中心(珠江街出租屋管理服务中心、珠江街劳动和社会保障服务中心、珠江街计划生育服务所)</td><td>同意</td><td> 广州市南沙区人力资源和社会保障局</td><td>2018年6月13日 11:27</td><td>2018年6月21日 11:27</td>
    </tr><tr class="ListItem">
    <td>骆佳薇</td><td>广州市友居房地产代理有限公司</td><td>同意</td><td> 广州市南沙区人力资源和社会保障局</td><td>2018年6月13日 11:27</td><td>2018年6月21日 11:27</td>
    </tr><tr class="ListAltern">
    <td>涂兵兵</td><td>广州市碧南房地产开发有限公司</td><td>同意</td><td> 广州市南沙区人力资源和社会保障局</td><td>2018年6月13日 11:27</td><td>2018年6月21日 11:27</td>
    </tr><tr class="ListItem">
    <td>张效磊</td><td>中交二航局南方工程有限公司</td><td>同意</td><td> 广州市南沙区人力资源和社会保障局</td><td>2018年6月13日 11:27</td><td>2018年6月21日 11:27</td>
    </tr><tr class="ListAltern">
    <td>曾晓容</td><td>广州聚微光电科技有限公司</td><td>同意</td><td>广州市增城区人力资源和社会保障局(原人事局)</td><td>2018年6月13日 9:35</td><td>2018年6月21日 9:35</td>
    </tr><tr class="ListItem">
    <td>温玉明</td><td>广州江河幕墙系统工程有限公司</td><td>同意</td><td>广州市增城区人力资源和社会保障局(原人事局)</td><td>2018年6月13日 9:30</td><td>2018年6月21日 9:30</td>
    </tr><tr class="ListAltern">
    <td>黄平</td><td>广州江河幕墙系统工程有限公司</td><td>同意</td><td>广州市增城区人力资源和社会保障局(原人事局)</td><td>2018年6月13日 9:29</td><td>2018年6月21日 9:29</td>
    </tr>
    </table>
    </td>
    <td id="data_field">
    <table bgcolor="Silver" border="0" cellpadding="0" cellspacing="1" class="listtable" id="DDDeclareInfo" rules="all" width="100%">
    <tr align="center" class="ListHeader">
    <td>姓名</td><td>单位名称</td><td>批复结果</td><td>审批单位</td><td>公示开始时间</td><td>公示结束时间</td>
    </tr><tr class="ListItem">
    <td>刘志</td><td>广州大学松田学院</td><td>同意</td><td>广州市增城区人力资源和社会保障局(原人事局)</td><td>2018年6月13日 9:29</td><td>2018年6月21日 9:29</td>
    </tr><tr class="ListAltern">
    <td>陈玉瑶</td><td>广州华立科技职业学院</td><td>同意</td><td>广州市增城区人力资源和社会保障局(原人事局)</td><td>2018年6月13日 9:25</td><td>2018年6月21日 9:25</td>
    </tr><tr class="ListItem">
    <td>陈婉宜</td><td>广州易淘商贸有限公司</td><td>同意</td><td>广州市白云区人力资源和社会保障局</td><td>2018年6月13日 8:55</td><td>2018年6月21日 8:55</td>
    </tr><tr class="ListAltern">
    <td>于冬</td><td>广州肽达生物科技有限公司</td><td>同意</td><td>广州市白云区人力资源和社会保障局</td><td>2018年6月13日 8:55</td><td>2018年6月21日 8:55</td>
    </tr><tr class="ListItem">
    <td>杜纹纹</td><td>广州天旗生物科技有限公司</td><td>同意</td><td>广州市白云区人力资源和社会保障局</td><td>2018年6月13日 8:55</td><td>2018年6月21日 8:55</td>
    </tr><tr class="ListAltern">
    <td>朱利枚</td><td>白云区永平街社区卫生服务中心</td><td>同意</td><td>广州市白云区人力资源和社会保障局</td><td>2018年6月13日 8:55</td><td>2018年6月21日 8:55</td>
    </tr><tr class="ListItem">
    <td>张洋</td><td>广州完全日用品有限公司</td><td>同意</td><td>广州市白云区人力资源和社会保障局</td><td>2018年6月13日 8:55</td><td>2018年6月21日 8:55</td>
    </tr><tr class="ListAltern">
    <td>阳良芬</td><td>广州市白云区良芬商品信息咨询服务部</td><td>同意</td><td>广州市白云区人力资源和社会保障局</td><td>2018年6月13日 8:55</td><td>2018年6月21日 8:55</td>
    </tr><tr class="ListItem">
    <td>熊志祥</td><td>广州市皇健医药科技有限公司</td><td>同意</td><td>广州市白云区人力资源和社会保障局</td><td>2018年6月13日 8:55</td><td>2018年6月21日 8:55</td>
    </tr><tr class="ListAltern">
    <td>沈素妃</td><td>广州市斌盛贸易有限公司</td><td>同意</td><td>广州市白云区人力资源和社会保障局</td><td>2018年6月13日 8:55</td><td>2018年6月21日 8:55</td>
    </tr>
    </table>
    ...
    

    以上内容输出到文本,然后用grep来查找你的名字,或者输出成html文件,直接用浏览器打开:


    image.png

    你也可以写个脚本,用crontab定时跑,然后用mail或者调用其他发送通知的API,来做定时检测和通知,更方便哦。

    image.png

    相关文章

      网友评论

          本文标题:广州落户公示名单抓取脚本

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