关于python:Python爬取高校就业职位向电脑微信发通知

40次阅读

共计 1797 个字符,预计需要花费 5 分钟才能阅读完成。

明天介绍的我的项目核心内容有两个,一个是抓取内容,另一个是发消息告诉。上面咱们一一来解说。

1 爬取职位信息

确定爬取的思路

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

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

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

能够看到,二者的 HTML 标签和属性取值都是一样的,这带来的另外一个益处是,咱们能够写一份代码来爬取多个高校的待业列表。

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

其实,企业里也常常遇到这样的问题,常常一个部门或者多个部门之间的数据格式不统一,往往须要花大量工夫在数据买通上做很多事件,十分费时费力,并且很难保护。

爬取数据

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

咱们须要的就是第一列,用它来拼接高校就业网的 url。有了 url 咱们就能够发申请获取网页源码了

外围的爬虫代码就这点,很简略。

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

发送告诉

爬取职位后,就能够发送告诉了,该我的项目反对三种告诉形式:print 打印控制台、windows 气泡告诉 和 微信告诉。

须要减少一个逻辑是判断是否要告诉,如果曾经告诉过了就无须再告诉。

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

65~72 行依据配置发送不同模式的告诉。print 告诉没啥说的,咱们简略介绍微信好友和 windows 气泡告诉。

微信好友告诉

微信告诉次要用到 wxpy 模块,它在 itchat 的根底上,通过大量易用的接口。

首先须要初始化

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

109~102 行确定将数据发给谁,能够发给文件助手、本人、或者任意好友。

调用 send 函数,就能够把内容发给好友了,很简略。

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

发送 windows 气泡告诉

windows 气泡告诉次要通过调用 windows 的零碎 API 来实现

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

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

TestTaskbarIcon 源码外面都是调用 windows 零碎 API,没什么可说的,外围代码是 showMsg 函数

调用 showMsg 函数就能够实现气泡告诉。

再对之前发送职位的代码稍作批改就能够了

将 show_msg 改成 showMsg,再批改下传参就能够。运行成果:

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

又到毕业季了,想体现的要趁机放松,我只能帮你们到这了。

以上就是本次分享的所有内容,如果你感觉文章还不错,欢送关注公众号:Python 编程学习圈 ,每日干货分享,发送“J”还可支付大量学习材料。或是返回编程学习网,理解更多编程技术常识。

正文完
 0