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

简介

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

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

代码

#!/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

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

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


image.png

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

image.png

你可能感兴趣的:(广州落户公示名单抓取脚本)