大家好,这里是为代码封神的封神榜(有点吹牛皮了,哈哈)。还是新人初来乍到,希望大家多多指教。

本系列呢,是为大家带来的是一些爬虫小项目,希望大家能够喜欢,多多支持。

1 爬取职位信息

确定爬取的思路

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

该页面收录了江苏省各市 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爬虫项目谁不爱呢——Python爬取高校就业职位相关推荐

  1. Python爬虫项目分享二:《爬取周杰伦的歌曲评论》

    python爬取周杰伦的歌曲评论 偶得一不错的爬虫教程,现博客分享,想要获取完整教程,加V:ff17328081445.文章为系列文章,持续更新,欢迎关注. 浏览器分析网页 #歌曲评价地址 https ...

  2. python爬虫多久能学会-不踩坑的Python爬虫:如何在一个月内学会爬取大规模数据...

    原标题:不踩坑的Python爬虫:如何在一个月内学会爬取大规模数据 Python爬虫为什么受欢迎 如果你仔细观察,就不难发现,懂爬虫.学习爬虫的人越来越多,一方面,互联网可以获取的数据越来越多,另一方 ...

  3. python爬虫入门实战---------一周天气预报爬取_Python爬虫入门实战--------一周天气预报爬取【转载】【没有分析...

    Python爬虫入门实战--------一周天气预报爬取[转载][没有分析 Python爬虫入门实战--------一周天气预报爬取[转载][没有分析] 来源:https://blog.csdn.ne ...

  4. Python爬虫《自动化学报》数据爬取与数据分析

    Python爬虫<自动化学报>数据爬取与数据分析 文章目录 Python爬虫<自动化学报>数据爬取与数据分析 前言 一.代码 二.结果展示 三.爬虫实现 1.准备 2.获取网页 ...

  5. 基于python爬虫————静态页面和动态页面爬取

    基于python爬虫----静态页面和动态页面爬取 文章目录 基于python爬虫----静态页面和动态页面爬取 1. 爬虫的原理 2. 用正则表达式匹配获取数据 3. 页面源码解析 4. 通过req ...

  6. Python 爬虫 之 Selenium 模拟打开操作浏览器爬取斗鱼全部视播相关信息,并json保存信息

    Python 爬虫 之 Selenium 模拟打开操作浏览器爬取斗鱼全部视播相关信息,并json保存信息 基础: Python 爬虫 之 Selenium.webdriver 的安装,以及模拟打开操作 ...

  7. Python爬虫小白教程(二)—— 爬取豆瓣评分TOP250电影

    文章目录 前言 安装bs4库 网站分析 获取页面 爬取页面 页面分析 其他页面 爬虫系列 前言 经过上篇博客Python爬虫小白教程(一)-- 静态网页抓取后我们已经知道如何抓取一个静态的页面了,现在 ...

  8. Python爬虫学习基础——5分钟学会爬取B站视频日播放量排行

    Python爬虫学习基础--5分钟学会爬取B站视频日播放量排行 基础包含 requests pyquery 进入正题 基础包含 这也是我当初第一次学习爬虫时做的练习,感觉给初学者练笔挺不错的.运用的知 ...

  9. Python爬虫系列(二):爬取中国大学排名丁香园-用户名和回复内容淘宝品比价

    Python爬虫系列(二):爬取中国大学排名&丁香园-用户名和回复内容&淘宝品比价 目录 Python爬虫系列(二):爬取中国大学排名&丁香园-用户名和回复内容&淘宝品 ...

最新文章

  1. Java如何比较两个字符串(对象)是否相等
  2. 「不会开会」是个病,这本书能治吗?
  3. 如何使用T-SQL临时禁用外键约束?
  4. hdu4662 简单搜索打表
  5. VS 2008 Feature Pack界面开发学习笔记之初步接触
  6. 实战SSM_O2O商铺_03项目结构规划及Maven配置
  7. 全民Tv帝师称称通过EOS赚了几千万,可信度有多高
  8. 新鲜出炉的电信诈骗经历
  9. Sentinel2A影像监测家乡油菜长势!!
  10. Netty工作笔记0006---NIO的Buffer说明
  11. 聚焦BCS|吴云坤产业峰会演讲:用内生安全框架提升网络安全产值
  12. 零基础快速学会用spss分析问卷
  13. MAVEN配置之SETTING配置
  14. ArcMap制作TPK文件
  15. 仿Android端饿了么外卖的效果
  16. hdu 1789 贪心算法
  17. llike与rlike
  18. 计算机网络 与信息安全专业就业,信息安全专业是学什么的 毕业后的就业方向有哪些...
  19. 动态规划之买瓜子—C说算法系列
  20. 第一课:DedeCMS仿站

热门文章

  1. Linux 桌面玩家指南:11. 在同一个硬盘上安装多个 Linux 发行版以及为 Linux 安装 Nvidia 显卡驱动...
  2. 用 LSN 画个 PAGE MAP
  3. [STL]面试题小结(一)
  4. canvas炫酷时钟
  5. 网页设计上海计算机一级教程,2017上海计算机一级8套考试题.pdf-文档在线预览...
  6. 硅谷的故事:关于硅谷的学术研究
  7. 【华为无线路由器】连接【广电光纤入户设备】宽带上网
  8. 荣耀10X有哪些亮点?今天来聊一聊
  9. TTF文件转换为EOT文件
  10. html5游戏狗,保卫萝卜2地下庄园D5攻略 极限清理太阳