网页抓取及信息提取 ※ 第2关:提取子链接

本文介绍了如何使用Python的urllib.request库从国防科技大学本科招生信息网的录取分数网页中提取嵌套的子链接URL,通过find()函数定位并收集2014年至2021年的分数线统计页面链接。
摘要由CSDN通过智能技术生成
任务描述

上一关我们学习了如何访问给定的网页并保存信息到本地,本关我们要从上一关访问的网页中提取出嵌套的url地址,即实现子链接的提取。

编程要求

仔细阅读网页源代码信息,补全step2()函数。从网页中找到20212014年国防科技大学录取分数线统计网页的子链接url数据并提取出来,具体来说:

  • 使用find()函数定位这五个url,并保存在列表urls中(顺序从2021-2014倒序)。

    注意:提取的超链是相对地址,需要加上站点域名,拼接成完整的URL

源代码
# -*- coding: utf-8 -*-
import urllib.request as req
# 国防科技大学本科招生信息网中录取分数网页URL:
url = 'https://www.nudt.edu.cn/bkzs/xxgk/lqfs/index.htm'  # 录取分数网页URL
webpage = req.urlopen(url)  # 按照类文件的方式打开网页
data = webpage.read()       # 一次性读取网页的所有数据
data = data.decode('utf-8')  # 将byte类型的data解码为字符串(否则后面查找就要另外处理了)

def step2():
    
# 建立空列表urls,来保存子网页的url
    urls = []

# 请按下面的注释提示添加代码,完成相应功能
#********** Begin *********#
# 从data中提取2014到2021每一年分数线子网站地址添加到urls列表中
    for i in range(2014,2021+1):
        string = f"{i}年录取分数统计"
        index = data.find(string)
        urls.insert(0,'https://www.nudt.edu.cn/bkzs/xxgk/lqfs/'+'"'+
        data[index-133:index-133+36])


# #********** End **********#
    return urls

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

前程的前程也迷茫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值