python提前查成绩_利用Python来查询自己的成绩!想改成绩吗?我教你啊!

本文介绍如何利用Python网络爬虫技术查询学生成绩。通过了解网络爬虫基础知识,如HTML、TCP/IP和HTTP协议,以及使用urllib和BeautifulSoup库,逐步解析和下载网页内容,最终实现成绩的抓取和保存。
摘要由CSDN通过智能技术生成

前言

前段时间在公众号发布了一篇用Python网络爬虫来获取百度贴吧某帖子内所有图片的文章。写的确实不好。很多地方连我自己都搞不明白,这篇文章笔者尽量把它写好,写明白。还望各位大佬海涵。

这个系列是干什么的

这个系列主要是针对本校教务网进行一个网络爬虫,爬取的内容就是学生的成绩,如果要从爬虫基础开始写估计篇幅有点大,于是笔者打算做成一个系列进行连载,初步估计会有三、四篇,具体情况再说。

目录

1, 网络爬虫基础知识

2, 模拟登录

3, 获取成绩

学习网络爬虫必备的知识

HTML 帮助你了解网页的结构

TCP/IP协议和HTTP协议 帮助你了解网络请求和网络传输的基本原理

Python

网络爬虫基础知识

什么是网络爬虫?

网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。另外一些不常使用的名字还有蚂蚁、自动索引、模拟程序或者蠕虫。

以上是百度百科对网络爬虫的解释。

按照我的理解其实就是:从网页上获取我们所需要的数据。

需要网络爬虫来干什么?

这就是本系列的重点了,学习一门新的知识总要拿它去做点什么。一开始我就说过,本系列的目的是获取自己的成绩,然后保存下来。这个需求很简单,只要拿到成绩数据就可以了。

网络爬虫的步骤是什么?

1, 获取 HTML 数据

2, 解析数据

3, 保存数据

编写第一个网络爬虫

下载网页

要想爬取网页,首先得要把网页下载下来。

from urllib.request import urlopen

def download(url):

html = urlopen(url=url)

return html.read()

url = "http://pythonscraping.com/pages/page1.html"

print(download(url))

这段代码使用 Python 的 urllib 模块下载 URL。

当传入 URL 参数时,该函数会下载网页并返回其 HTML。

BeautifulSoup 简介

BeautifulSoup库的功能是用来解析我们下载好的 HTML。它通过定位 HTML 标签来格式化和组织复杂的网络信息。

安装 BeautifulSoup

这里网上有很多教程,就不详细说明,直接在 cmd 敲入下面这行命令就可以安装了。

pip install bs4

安装成功后测试一下。

在 Python 终端里导入

Python 3.6.5 |Anaconda, Inc.| (default, Mar 29 2018, 13:32:41) [MSC v.1900 64 bit (AMD64)] on win32

Type "help", "copyright", "credits" or "license" for more information.

>>> import bs4

>>>

没有报错说明安装成功。

运行 BeautifulSoup

修改上个例子的代码

完整代码加群:683380553 获取!

from urllib.request import urlopen

from bs4 import BeautifulSoup

url = "http://pythonscraping.com/pages/page1.html"

html = urlopen(url=url)

bsObj = BeautifulSoup(html.read(), "lxml")

print(bsObj.h1)

输出的结果是:

An Interesting Title

导入 urlopen,然后调用html.read() 获取网页的 HTML 内容。这样就可以把 HTML 内容传到 BeautifulSoup 对象。然后对 BeautifulSoup 对象进行操作。bsObj.h1 是从对象里提取 h1 标签。

这样,一个简单的网络爬虫就写好了。

关于 BeautifulSoup 其他的用法会在之后的文章里提到,大家也可以自行上网学习。

requests 简介

requests 是 python 实现的简单易用的 HTTP 库,使用起来比 urllib 简洁很多。

安装 requests

跟安装 bs4 一样。

pip install requests

基本用法

requests.get() 用于请求目标网站,类型是一个HTTPresponse类型。

import requests

from bs4 import BeautifulSoup

url = "http://pythonscraping.com/pages/page1.html"

html = requests.get(url=url)

bsObj = BeautifulSoup(html.text, "lxml")

print(bsObj.h1)

这里 html.text是以文本的形式打印网页源码。

输出结果是:

An Interesting Title

比较一下 urllib 是不是简洁很多?后续的文章当中都会使用 requests 库。大家可以去官网学习一下这个库的用法。

总结

首先笔者介绍了什么是网络爬虫,以及自己动手编写一个简单网络爬虫程序。

安装了两个网络爬虫非常棒的第三方库,简单的说明了这两个第三方库的用法。

这篇文章没有干货,有些地方写得可能生涩难懂,请大家见谅,有什么问题可以在后台留言,我都会一一回复,谢谢大家。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值