Python爬取高校就业职位,向电脑、微信发通知

今天介绍的项目核心内容有两个,一个是抓取内容,另一个是发消息通知。下面我们一一来讲解。

1 爬取职位信息

确定爬取的思路

该项目里爬取的都是江苏省高校,并且不止一个。爬取数据的入口是江苏省的某就业平台(http://www.91job.org.cn/defau...

Python爬取高校就业职位,向电脑、微信发通知_第1张图片

该页面收录了江苏省各市 160 多所高校的就业网站。从这里点进去每个站点里的内容,跟各高校官网的就业信息站点的内容是一样的,以南京师范大学为例:

Python爬取高校就业职位,向电脑、微信发通知_第2张图片

Python爬取高校就业职位,向电脑、微信发通知_第3张图片

可以看到,除了url不同外,内容是一样的。这就带来了一个好处是,我们想爬取多个高校的就业信息,不用去每个高校官网找内容,直接到这个网站找就可以了,并且url格式也是固定的 “高校英文.91job.org.cn”。\
这还不是最牛的,最牛的是每个高校的职位列表页的 HTML 代码标签是一样的,下面对比下南京师范大学和东南大学的职位列表:

Python爬取高校就业职位,向电脑、微信发通知_第4张图片

Python爬取高校就业职位,向电脑、微信发通知_第5张图片

可以看到,二者的 HTML 标签和属性取值都是一样的,这带来的另外一个好处是,我们可以写一份代码来爬取多个高校的就业列表。

另外,我找了山东的两个高校网站,职位列表页的HTML跟上面也是一致的,但找了北京两个网站发现完全不同。既然有很多高校能做到一致,说明背后有人在推动这件事,不管是谁都为他们的行为点个赞。

其实,企业里也经常遇到这样的问题,经常一个部门或者多个部门之间的数据格式不一致,往往需要花大量时间在数据打通上做很多事情,非常费时费力,并且很难维护。

爬取数据

有了 url 和 网页格式,我们就很容易爬数据了,首先需要一个待爬的高校列表

Python爬取高校就业职位,向电脑、微信发通知_第6张图片

我们需要的就是第一列,用它来拼接高校就业网的 url。有了 url 我们就可以发请求获取网页源码了

Python爬取高校就业职位,向电脑、微信发通知_第7张图片

核心的爬虫代码就这点,很简单。

  • 51行拼接各高校职位列表url
  • 52行 get_url 函数里使用 requests.get 来获取网页源代码
  • 53行用 BeatifulSoup 解析网页 HTML 代码
  • 54行获取 HTML class=‘infoList’ 的内容,这个属性值在上面 HTML 源码截图里可以看到
  • 56行遍历职位列表,从中获取职位链接

发送通知

爬取职位后,就可以发送通知了,该项目支持三种通知方式:print打印控制台、windows 气泡通知 和 微信通知。

需要增加一个逻辑是判断是否要通知,如果已经通知过了就无须再通知。

Python爬取高校就业职位,向电脑、微信发通知_第8张图片

59~61行用来判断是否需要通知的逻辑,通知过的内容会写入 url_list.txt 中,并且程序启动时会将文件内容读入 url_list 变量。

65~72行根据配置发送不同模式的通知。print通知没啥说的,我们简单介绍微信好友和windows气泡通知。

微信好友通知

微信通知主要用到 wxpy 模块,它在 itchat 的基础上,通过大量易用的接口。

首先需要初始化

Python爬取高校就业职位,向电脑、微信发通知_第9张图片

106~107行初始化 Bot 对象,启动程序时会弹出一个二维码,需要扫码登录。

109~102行确定将数据发给谁,可以发给文件助手、自己、或者任意好友。

图片

调用 send 函数,就可以把内容发给好友了,很简单。

wxpy 文档提示大家尽量用小号,因为使用该模块可能会导致 web微信无法登录。

Python爬取高校就业职位,向电脑、微信发通知_第10张图片

发送windows气泡通知

windows气泡通知主要通过调用 windows 的系统 API 来完成

Python爬取高校就业职位,向电脑、微信发通知_第11张图片

第9行判断运行的程序的系统是否是 Windows,如果是,15行初始化TestTaskbarIcon 对象 message,用来发消息。

TestTaskbarIcon 类在 windows 模块里,但项目源码里并没有定义 windows 模块,估计是作者忘记上传了。我们百度一下 TestTaskbarIcon ,网上能找到 TestTaskbarIcon 的源码。在项目根目录创建 windows.py 文件,将 TestTaskbarIcon 源码复制进去即可。

TestTaskbarIcon 源码里面都是调用 windows 系统 API ,没什么可说的,核心代码是 showMsg 函数

Python爬取高校就业职位,向电脑、微信发通知_第12张图片

调用 showMsg 函数就可以实现气泡通知。

再对之前发送职位的代码稍作修改就可以了

图片

将 show_msg 改成 showMsg,再修改下传参就可以。运行效果:

Python爬取高校就业职位,向电脑、微信发通知_第13张图片

Python爬取高校就业职位,向电脑、微信发通知_第14张图片

这样,整个项目就介绍完了,还是比较简单的,一共也就 100 多行代码。

又到毕业季了,想表现的要趁机抓紧,我只能帮你们到这了。

以上就是本次分享的所有内容,如果你觉得文章还不错,欢迎关注公众号:Python编程学习圈,每日干货分享,发送“J”还可领取大量学习资料。或是前往编程学习网,了解更多编程技术知识。

你可能感兴趣的:(python爬虫就业)