只需一行正则即可爬取某高校就业处通知公告,速进!

某高校英语测试题 正则写的比较粗劣,不过爬取目的实现了,这个版本是爬取本地的jsp文件。然后输出到控制台,并没有输出到文件 package main import ( "fmt" "os" "regexp" "strconv" ) func main() { var unit string='1' for i := 0; i <= 49; i++ { file, err :... 阅读详情

    前言

本文作者:不温卜火

此文转载文,著作权归作者所有,如有侵权联系小编删除   未经本人允许,禁止转载!!!

原文地址:https://buwenbuhuo.blog.youkuaiyun.com/。

 

博主前几天带来了一个通过查找百度接口实现翻译单词的小demo,本次将继续带来另一个使用正则的小demo。只需一行正则代码,即可爬取某高校官网通知公告。

一. 前期准备

说要爬取高校,那肯定要爬高校的,要不然就显的本博主言而无信!但是问题来了,要爬取哪个高校呢?不仅能够成功爬取到信息并且只需要一行正则表达式即可提取到相关信息。这可有点难为住博主了,正在这是 博主想到了自己学校,并且找到了自己学校就业处的网站,通过查看网站规则,发现正好符合规则。当然了博主本人的学校为双非院校,只是一所普通本二院校…Hahahaha… 话不多说,正片正式开始:

  •  1. 分析网页

首先给出我们要爬取的网址:https://zs.hait.edu.cn/list.jsp?urltype=tree.TreeTempUrl&wbtreeid=1261

我们打开网址以后,页面如上图所示,我们可以看到整个界面上,最多的就是一个又一个的通知公告,那么我们就知道我们需要爬取的内容。下面我们打开开发者选项


通过上图,我们可以看到每一个tr标签对应一个通知公告,这个时候我们打开其中一个tr标签进行查看


打开之后,我们可以看到我们所需要的所有信息都在a标签内,找到了位置,下面我们就可以进行解析实现了。当然了,博主本人还是更喜欢使用xpath进行解析的。

  •  2. 解析获取标题

下面先让大家看下xpath解析我们所需要的标题的方法:


怎么样,是不是很简单。但是由于本篇博文是要用正则表达式,所以,博主还是使用正则表达式进行获取标题


上述的正则表达式(.*?)代表获取选中部分的所有内容。

如果有小伙伴对正则表达式有不懂的,可以自行查看下博主给的链接https://www.runoob.com/regexp/regexp-syntax.html
当然了,写好了正则表达式当然需要先测试下能否成功获取到我们所需要的内容,下面给出测试结果:


🆗,我们可以看到获取到的结果是正确的,如果正则写的不对的话,需要多次查看调试,这不是什么难活,主要是需要有足够的耐心就够了。

  •  3. 保存到本地

此处,个人感觉 没啥需要讲解的地方,所以直接贴出代码

    with open("./河工院通告.txt","w",encoding="utf-8") as file:
        #循环
        for title in title_list:
            #写
            file.write(title)
            file.write("\n")
    print("保存完毕!")
1234567

二. 从思想转换成程序

既然大体思路已经完成了,那么下面就还差完成代码了

  •  1. 思路及源码

那么下面就是代码的实现过程了:
1.设定所需爬取的URL
2. 添加请求头,伪装成浏览器。这位最基本的手段
3. 发送请求,获取数据
4. 通过正则提取所有内容
5. 保存内容到本地

#!/usr/bin/env python
# encoding: utf-8
'''
  @author 李华鑫
  @create 2020-10-06 10:04
  Mycsdn:https://buwenbuhuo.blog.youkuaiyun.com/
  @contact: 459804692@qq.com
  @software: Pycharm
  @file: 爬河工院通告.py
  @Version:1.0
  
'''
# 导入包
import requests
import re

url = "https://zs.hait.edu.cn/list.jsp?urltype=tree.TreeTempUrl&wbtreeid=1261"
headers = {
    "user-agent": "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36",
}
def hegong_Spider():
    # 发送请求,获取响应
    response = requests.get(url=url, headers=headers)
    # 获取响应数据
    content = response.content.decode("utf-8")
    # 提取数据,使用正则表达式
    title_list = re.findall(r'<a class="c57797".*?title="(.*?)">.*?</a>',content,flags=re.DOTALL)

    #打开文件写
    with open("./河工院通告.txt","w",encoding="utf-8") as file:
        #循环
        for title in title_list:
            #写
            file.write(title)
            file.write("\n")
    print("保存完毕!")
if __name__ == '__main__':
    hegong_Spider()

 

  •  2. 运行结果

三. 代码升级

上述代码,我们只能爬取第一个的内容,这和我们所想的是有差别的,我们想的是要爬取所有通告,这个时候不用想我们就需要通过模拟翻页动作,进行全部获取。

  •  1. 分析

我们先来通过查看网址的变化以及查看能否看到网站的总页数,好以此来实现爬取全部标题的目的。

首先我们先来看下网址差异:

https://zs.hait.edu.cn/list.jsp?a5t=13&a5p=1&a5c=15&urltype=tree.TreeTempUrl&wbtreeid=1261
https://zs.hait.edu.cn/list.jsp?a5t=13&a5p=2&a5c=15&urltype=tree.TreeTempUrl&wbtreeid=1261
https://zs.hait.edu.cn/list.jsp?a5t=13&a5p=4&a5c=15&urltype=tree.TreeTempUrl&wbtreeid=1261
123

根据上述三个网址,我们不难发现网址唯一变化的地方就是


那么,我们就可以通过拼接网址的方式实现网页跳转。

下面我们再来查看网站总共有多少页码。


我们可以看到总共有13页,下面就很简单了,我们先来看下拼接的url是否是我们所需要的

  •  2. 源码

🆗通过上图,看到url是我们所需要的,下面就可以完善一开始的代码了:

#!/usr/bin/env python
# encoding: utf-8
'''
  @author 李华鑫
  @create 2020-10-06 10:04
  Mycsdn:https://buwenbuhuo.blog.youkuaiyun.com/
  @contact: 459804692@qq.com
  @software: Pycharm
  @file: 爬河工院通告分页.py
  @Version:1.0
  
'''
# 导入包
import random
import time
import requests
import re


headers = {
    "user-agent": "Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36",
}
base_url = "https://zs.hait.edu.cn/list.jsp?a5t=13&a5p={}&a5c=15&urltype=tree.TreeTempUrl&wbtreeid=1261"

def hegong_Spider():
    # 翻页
    for i in range(1, 14):
        print("第{}页爬取中...".format(i))
        time.sleep(random.random())
        url = base_url.format(i)
        # 发送请求,获取响应
        response = requests.get(url=url, headers=headers)
        # 获取响应数据
        content = response.content.decode("utf-8")
        # 提取数据,使用正则表达式
        title_list = re.findall(r'<a class="c57797".*?title="(.*?)">.*?</a>', content, flags=re.DOTALL)
        # title_list = content.xpath('//a[@class="c57797"]/@title').extract()
        # 打开文件写
        with open("./河工院通告.txt", "a", encoding="utf-8") as file:
            # 循环
            for title in title_list:
                # 写
                file.write(title)
                file.write("\n")
            print("保存完毕!")

if __name__ == '__main__':
    hegong_Spider()
  •  3. 运行结果


美好的日子总是短暂的,虽然还想继续与大家畅谈,但是本篇博文到此已经结束了,如果还嫌不够过瘾,不用担心,我们下篇见!完整代码获取点这里即可


 

一键爬取在Sustainability上发文最多的国家 导读 Sustainability(以下简称Sus)是由出版商MDPI于2009年创立的一家开源期刊(Open Access Journal)。从2009年到2020年,Sus不过12岁,从最初的季刊,发展至如今的半月刊,并在刊文数量和收稿范围方面轻松超越诸位“老前辈”。为了让大家更深入地了解Sus,我们通过网络爬虫抓取了该刊自创刊以来的所有文献目录及其作者单位。下面,就让我们一起来看看如何实现吧~ 20000余篇! 首先,通过分析源网页,我们发现需要抓取的文章链接和题目位于(<a class="ti 阅读详情

相关推荐

Python爬虫初探(六)——爬虫之xpath实战(爬取高考分数线信息)

上一章我们讨论了xpath的简单使用,这次我们就来实际应用一下xpath,看看它使用有多方便。

brilliant666的博客 2534

Python爬虫——正则表达式(超详细,附带实战演练)

前言 在学编程的过程中,我们可能听过正则表达式,但是不知道它是什么,我一开始听到正则表达式时,我在想正则表达式是啥?它用来干嘛的?学起来难不难的?可能很多人和我想的一样。学完之后,我很认真负责地告诉你们,正则表达式不难!!! 正则表达式 百度百科里写到: 正则表达式又称规则表达式,计算机科学的一个概念。正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本,是对字符串操作的一种逻辑公式,是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种

霖hero 3万+

批量爬取中国大学MOOC网站的媒体资源

通过requests库爬取中国大学MOOC网站, 以正则表达式re解析网页, 实现批量视频/课件下载.

水木年崋 4864

python爬虫实现实时爬取学校最新通知并推送

python爬虫实时爬取网站最新通知并推送

qq_43569892的博客 8160

【Python实战】Python采集高校信息

大家好,我们今天来爬取某站的高校名单,把其高校名单,成员和内容数获取下来,不过,我们发现这个网站比我们平时多了一个验证,下面看看我是怎么解决的。 ​

爱吃饼干的小白鼠的博客 2324

抖音小游戏(IAA)巨量引擎投放指南

摘要:本文详细介绍了在巨量引擎平台投放小游戏广告的完整流程,包括五个关键步骤:1)添加小游戏资产,填写ID等信息并等待审核;2)添加事件管理,配置激活和关键行为事件;3)通过橙子建站创建落地页,设置跳转链接;4)新建广告项目,选择小程序推广目标;5)完成广告创建。

分享前端工程化、AI 应用、Agent 开发与大模型实践! 4506

python小小爬虫(一)—— 爬取学校官网通知(仅作为练习使用)

无聊拿来玩儿,仅作为练习用。 文章目录分析代码效果 分析 找到文本的所处的div即可,注意应该是文本(一般是<span>text</span>这种形式)的上一级div,即div下面应该就是文本所在的span,找到文本所在的tag之后,使用.get_text()获取其文本信息。 代码 import requests from bs4 import BeautifulSoup # 获取html文档 def get_html(url): """get th.

图像处理、SLAM、PCL、OpenCV爱好者 2760

MAX31865三线PT100测温实战:配置、接线与代码全解析

本文详细解析MAX31865三线PT100测温的配置、接线与代码实现。通过实战经验分享,介绍如何利用MAX31865芯片实现高精度温度测量,重点讲解三线制接法的自动误差补偿功能,并提供完整的寄存器配置、SPI通信和温度转换算法,帮助开发者快速解决工业测温中的常见问题。

ss78901的博客 758

爬虫爬取学校通知信息(python))

呦呦鹿鸣一、爬虫简介1.1 介绍1.2 软件配置二、爬取南阳理工学院ACM题目网站三、爬取学校官网的信息通知四、总结五、参考 一、爬虫简介 1.1 介绍 网络爬虫英文名叫Web Crawler或Web Spider。它是一种自动浏览网页并采集所需要信息的程序。 爬虫从初始网页的URL开始, 获取初始网页上的URL,在抓取网页的过程中,不断从当前页面抽取新的url放入队列。直到满足系统给定的停止条件才停止。 可以为搜素引擎从互联网中下载网页数据,是搜素引擎的重要组成部分。 1.2 软件配置 python

junseven164的博客 2900

傻瓜教程:使用GeoServer发布离线地图服务

一、离线地图下载 离线地图分为两种:一种叫“金字塔瓦片”数据,一种叫“矢量地图数据”。我们看的在线地图比如,百度,谷歌,高德等等网页上的地图,都是金字塔瓦片;另外一种是手机上用来导航的,比如高德地图APP,也可以下载离线地图数据,这个就是矢量的。 卫星影像地图都是金字塔瓦片,无矢量数据。 因此,我们所说的离线地图下载通常都是指离线地图金字塔瓦片数据下载。 离线地图金字塔瓦片搭建的离线地图服务分很多种:一般有WEB方式,TMS、WMTS/WMS等等,不同的应用有不同...

米兰的小码农的博客 1万+

极验滑块验证码破解与研究(一):AST还原混淆JS

极验滑块验证码破解与研究(一):AST还原混淆JS声明一、环境安装1. node安装1.1. node下载1.2. 配置环境变量1.3. node安装检测1.4. pycharm配置node环境2. babel库安装2.1. babel库安装命令2.2. babel库安装检测二、AST还原混淆JS1. 模块导入2. AST还原流程3. 复制还原需要用到的js源码4. AST还原函数详解4.1. replace_unicode4.2. replace_unicode, replace_name_array,

帯泪的鱼的博客 1万+

爬虫入门经典(二) | 只需一行正则即可爬取某高校就业处通知公告,速进(超简单-。-)

  大家好,我是不温卜火,是一名计算机学院大数据专业大三的学生,昵称来源于成语—不温不火,本意是希望自己性情温和。作为一名互联网行业的小白,博主写博客一方面是为了记录自己的学习过程,另一方面是总结自己所犯的错误希望能够帮助到很多和自己一样处于起步阶段的萌新。但由于水平有限,博客中难免会有一些错误出现,有纰漏之处恳请各位大佬不吝赐教!暂时只在csdn这一个平台进行更新,博客主页:https://buwenbuhuo.blog.youkuaiyun.com/。 PS:由于现在越来越多的人未经本人同意直接爬取博主本人.

不温卜火 2万+

土壤水动力学_前 言

Van Genuchten (V-G) 模型是土壤水分特征曲线中最常用的模型之一。它通过数学方程描述了土壤基质吸力与体积含水量之间的关系,被广泛应用于土壤水分运移、土壤盐渍化、边坡稳定性等研究领域。V-G模型是描述土壤水分特征曲线的重要工具,但它并不是完美的。在实际应用中,需要根据土壤类型、试验条件等因素选择合适的模型。土壤基质吸力是土壤水分学中的一个重要概念,它对土壤水分的保持、植物的生长以及土壤的工程性质都有重要影响。

weixin_44259522的博客 5335

js 取闭合标签正则_只需一行正则即可爬取某高校就业处通知公告,速进(超简单。)...

点击左上方[蓝色小字],关注[国民程序员]每天满满的干货作者:不温卜火出处:https://blog.youkuaiyun.com/qq_16146103/article/details/109016583一. 前期准备说要爬取高校,那肯定要爬高校的,要不然就显的本博主言而无信!但是问题来了,要爬取哪个高校呢?不仅能够成功爬取到信息并且只需要一行正则表达式即可提取到相关信息。这可有点难为住博主了,正...

weixin_39867662的博客 152

【密码专栏】超强进阶:PLONK VS Groth16(上)

前言 前文《天冷了,干了这碗“零知识证明”鸡汤》对「零知识证明学习」作了一个形象化的比喻:炖鸡汤。那么本系列的主要内容可以简单概括为《论高压锅炖鸡汤的一百种方法》之方法二。在学会了“清炖鸡汤”之后,不如来一口“阿胶鸡汤”补补脑细胞吧! 正如鸡汤不同风味之间各具千秋,不同的zk-SNARK方案也各有所长。zk-SNARK方案可以被分为【通用】与【非通用】zk-SNARK,PLONK与Groth16分别是其中的典型代表。通过本系列,我们将对PLONK算法内容作简要介绍,并指出PLONK和Groth16算法思路上

Hyperchain的博客 1805

AutoSAR系列讲解(实践篇)7.3-AppL在Dev中的配置(下)

接着讲解Dev中剩下的几个定义项

雪云飞星的博客 1万+

Python爬虫练习:正则的运用

本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。 作者 不温卜火 以下文章来源于 https://blog.youkuaiyun.com/qq_16146103/article/details/109016583 一. 前期准备 说要爬取高校,那肯定要爬高校的,要不然就显的本博主言而无信!但是问题来了,要爬取哪个高校呢?不仅能够成功爬取到信息并且只需要一行正则表达式即可提取到相关信息。这可有点难为住博主了,正在这是 博主想到了自.

Python案例分享,B站视频教程:https://space.bilibili.com/523606542 256

打开电脑自动弹窗问题:无法为文件‘D:\Config.Msi\*.rbf‘设置文件安全。错误:5。请确认...如何解决?| 提供多种解决方案,亲测有效!

🏆本文收录于 《全栈Bug调优(实战版)》 专栏,该专栏专注于分享我在真实项目开发中遇到的各类疑难Bug及其深层成因,并系统提供高效、可复现的解决思路和实操方案。无论你是刚入行的新手开发者,还是拥有多年项目经验的资深工程师,本专栏都将为你提供一条系统化、高质量的问题排查与优化路径,助力你加速成长,攻克技术壁垒,迈向技术价值最大化与职业发展的更高峰🚀!

**My Coding Family** 2915

python 3爬取 全国高校对四川历年招生数据(文理省控线,文理专业线)存入Excel表

由于我们的acm的指导老师对项目组布置的一个高考志愿学校推荐系统,是大数据和机器学习的结合,我负责的是爬取数据,给机器学习小组用,网页数据不在你搜索当前学校网页上看到的那样,是通过js生成的。数据来源:https://gkcx.eol.cn/soudaxue/queryschool.html,这个网址的数据相对来说很齐全....目前来说能够找到高校录取数据最多的网址。 提示:由于网站更新,采用a...

memory_qianxiao的博客 6068

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

Python爬取中国大学排名,并且保存到excel中

前言 以下文章来源于数据分析和Python,作者冈坂日川 今天发的是python爬虫爬取中国大学排名,并且保存到excel中,当然这个代码很简单,我用了半小时就写完了,我的整体框架非常清晰,可以直接拿去用,也希望有小白可以学习到关于爬虫的一些知识,当然我也只是在学习中,有不好的地方还麻烦大佬们指正!谢谢! 爬取中国大学排名 URL : http://m.gaosan.com/gaokao/265440.html request 获取 html beautiful sou...

Python案例分享,B站视频教程:https://space.bilibili.com/523606542 3628

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

vue+flask+lstm高校舆情分析系统 | 可获取最新数据!

文章结尾部分有优快云官方提供的学长 联系方式名片文章结尾部分有优快云官方提供的学长 联系方式名片关注B站,有好处!编号:F020 gaoxiao架构:vue+flask+LSTM+MySQL功能: 微博信息爬取、情感分析、基于负面消极内容舆情分析、可视化分析、舆情监测、关键词分析等。

麦麦大数据 982

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

视频教程-Python爬虫实战 超多案例(百度,微博,今日头条,网易,boss直聘,豆瓣爬取+全网爬取)-Python

Python爬虫实战 超多案例(百度,微博,今日头条,网易,boss直聘,豆瓣爬取+全网爬取) ...

weixin_28233157的博客 882

采用requests请求+xpath与正则表达式解析+Mysql与json存取:爬取高考网主页与子页的学校基本信息和往年录取分数线

爬取高考网主页与子页的学校基本信息和往年录取分数线高考网创建Mysql数据库和存储实现先了解下高考网的一些爬取阻碍完整代码 高考网 链接: http://college.gaokao.com/schlist/a14/p1/ 本章主要介绍下简单的爬取,不采用任何框架,只爬取广东省内的高校,让读者能对requests的请求方式,正则表达式与xpath的解析方式,json与MYSQL的存取方式有一定了解...

狼性书生 1041

python爬取考研网的信息

今天我们使用python来爬取考研网站的信息。目标网站:https://yz.chsi.com.cn/zsml/queryAction.do使用的库:requests,b...

tongtongjing1765的博客 7491

python爬虫基础系列1-爬取**大学官网新闻+图片

   因为前段时间,有个同学问到了如何爬取学校官网的新闻后,我就试试一下,在学这些好玩的东西之前,不需要你会python,只需要你有一点点网络和编程语言的基础就可以了,当然啦,如果你没有也没关系,毕竟度娘伟大哈哈。好了,扯了这么多,终于进正题了。————————————————————————————————————第一步,首先我们要有一个目标网址。我们的目标的是找到新闻的首页。  http://...

qq_38979958的博客 2299
上一篇: Python爬取素材网站3000多条音频素材文件,居然想让我充会员!
下一篇: 基于Python实践工业大数据相关分析有什么用,能给出什么样的结论?
pythonlaodi
博客等级 码龄6年 286粉丝 244原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值