美文网首页大数据 爬虫Python AI SqlPython小哥哥
利用Python来查询自己的成绩!想改成绩吗?我教你啊!

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

作者: 14e61d025165 | 来源:发表于2019-03-24 16:19 被阅读3次

前言

前段时间在公众号发布了一篇用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)

输出的结果是:

<h1>An Interesting Title</h1>

导入 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是以文本的形式打印网页源码。
输出结果是:

<h1>An Interesting Title</h1>

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

首先笔者介绍了什么是网络爬虫,以及自己动手编写一个简单网络爬虫程序。
安装了两个网络爬虫非常棒的第三方库,简单的说明了这两个第三方库的用法。

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

相关文章

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

    前言 前段时间在公众号发布了一篇用Python网络爬虫来获取百度贴吧某帖子内所有图片的文章。写的确实不好。很多地方...

  • 成绩,成绩啊

    期中考试的成绩出来了…… 学生考的很差,这也是意料之中的事情,可看着孩子们可怜兮兮的分数,心里还是感觉像有万把钢刀...

  • 成绩啊成绩

    想着学了有一段时间了,有意试试闺女的成绩如何。于是这个周末主要给她安排了些试卷,和复习的词语单词。 结果出来之后,...

  • 成绩啊,成绩

    作为教育工作者,很多时候,我对当前的教育生态是绝望的。 文/陈熠 暮色像一张大网,悄悄地洒落下来,...

  • 成绩啊成绩

    姑娘的期末成绩热辣出炉了,没出意料,不仅没有实现期中考试后定下的进年级前五十的目标,反而还倒退了十几名。为何说不出...

  • 查询成绩

    一级建造师的成绩公布了,我心怀忐忑的登录中国人事网查询。如下图: 总共4门课程,需要全部及格才算考过,我及格了3门...

  • 成绩查询

    怀着担忧的心情迟迟不能入睡。 第二天一大早便有很多消息传出,有人欢喜有人愁。以我原来的保守估分以及学校估计的录取线...

  • 查询成绩

    今天,“2021年社会工作者考试成绩查询入口已开放”的消息出现在各大网站!全国参加社会工作者职业水考试的考生都在查...

  • 查询成绩……

    终于结束了,有两门主课的一学期工作全部结束。学期的最后一关就是把所教班级的成绩提交,就是完美收官,学生一学期的学习...

  • 查询成绩

    我一直在告诫自己,在追寻梦想的同时也要把本分的事做好。 今天终于可以查成绩了,这算是大一的第一次考试,成绩...

网友评论

    本文标题:利用Python来查询自己的成绩!想改成绩吗?我教你啊!

    本文链接:https://www.haomeiwen.com/subject/aimuvqtx.html