爬取某高校研究生院最新通知

爬取某高校研究生院最新通知

一、需求描述

近年来高校毕业生激增,就业、升学、考公、创业人数都有所增加,但近年来考研人数也快速增加,2020年已突破341万,估计明年会迈进400万的大关,下面我列个近年来的考研人数图,如图1.1、1.2所示。在这里预祝所有考研的同学们都顺利考上自己心仪的高校。话说碰到今年的疫情,各行各个都有影响,咱们的初试、复试时间一再延期,还好线上举办,及有效的防止人员流动造成的疫情的传播、也方便大家的备考、调剂以及时间成本。大家都是初试复试已经过了,就差一个拟录取通知,各高校通知复试结果时间不一,少则一两天,多则一两个星期,但每天不时的刷新官网的最新通知着实繁琐,如何第一时间刷到通知哪?下面我用简单的 Python 程序来实现,一来打发疫情在家的闲时间,二来做下笔记,方便复习,也欢迎同行们交流。
在这里插入图片描述

图1.1 历年报考人数

在这里插入图片描述

图1.2 近几年报考人数
>

二、前期准备

python 解释器的安装、Pycharm 下载

python官网:https://www.python.org/(打开加载有点慢)

pycharm 官网 :https://www.jetbrains.com (下载免费的社区版即可满足日常使用)

三、实现方法

目标:爬取某高校研究生院最新通知

  1. 使用urllibBeautifulSoup两个python库
  2. 安装的话使用 pip 安装即可,在 Dos下 输入 pip +库名 + install 或者在编辑器里安装
import urllib.request
import urllib.parse

from bs4 import BeautifulSoup

# 直接使用 urlopen('网址') 返回 404 错误,对方网站设置有反爬虫机制
requst = urllib.request.Request('http://sjxy.whpu.edu.cn/index/tzgg.htm')
requst.add_header('User-Agent', 'Mozilla/4.0 (compatible; MSIE 5.5; Windows NT)')  # 添加请求头,模仿人使用浏览器访问页面
response = urllib.request.urlopen(requst)
# 一、获取该网址的源代码
html = response.read()

# 二、解析源代码
bs = BeautifulSoup(html, 'html.parser')  # 爬取该网址的 HTML 源代码

# 三、使用 find_all 方法找到最新同志所在的标签
tr = bs.find_all('tr', {'id': 'line_u3_0'})  # 使用 find_all() 方法 id 选择器找到指定的 tr 标签
# print(tr)                                 # 爬取的的结果存放在列表中,使用时需要加下标,否则会报错
# AttributeError: ResultSet object has no attribute 'find_all'.

print('--------------------------------')

print('通知时间:', tr[0].find_all('p')[1].get_text())
print('通知标题:', tr[0].p.get_text()[2:])
print('链接:', 'http://sjxy.whpu.edu.cn/' + tr[0].a['href'][2:])
print('-----------分割线----------------')

四、小结

代码比较简单,后续功能也在完善学习中,希望可以多多交流,觉得不错可以点个赞,或者评论交流呀

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值