编程训练: 大学计算机 实验4 爬虫、人工智能基础
第1关requests 基础任务描述本关任务编写一个 requests 请求网页的程序。相关知识为了完成本关任务你需要掌握requests 的安装和 requests 的常用方法。requests 的安装我们之前介绍了 urllib 库的使用它是作为爬虫入门工具来介绍的对新手理解 Python 爬虫的整个流程很有帮助。在掌握了爬虫基本思想流程后就需要引入更高级的工具来提高我们的开发效率这里就开始给大家介绍 requests 库的使用。如果本地 Python 环境没有安装 requests可以在命令提示符窗口输入命令pip install requests安装 requests 模块如下图所示。测试答案:importrequests def get_html(url): 两个参数 :param url:统一资源定位符,请求网址 :param headers:请求头 :return:html# ***************** Begin ******************** ## 请补充请求头headers{User-Agent:Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36}# get请求网页responserequests.get(url,headersheaders)# 获取网页信息文本htmlresponse.text# ***************** End ******************** #returnhtml第2关requests 进阶任务描述本关任务使用 session 编写爬取网页的小程序。相关知识为了完成本关任务你需要掌握cookie 与 session 的使用。cookie的使用当你浏览某网站时Web 服务器会修改修改你电脑上的 Cookies 文件它是一个非常小的文本文件可以记录你的用户 ID 、密码、浏览过的网页、停留的时间等信息。 当你再次来到该网站时网站通过读取 Cookies 文件得知你的相关信息从而做出相应的动作如在页面显示欢迎你的标语或者让你不用输入 ID、密码就直接登录等等。下面演示如何在 requests 中使用 Cookies 以百度搜索为例在开发者工具查看请求头信息如下测试答案:importrequests def get_html(url): 两个参数 :param url:统一资源定位符,请求网址 :param headers:请求头 :return html 网页的源码 :return sess 创建的会话# ***************** Begin ******************** ## 补充请求头headers{User-Agent:Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36}# 创建Sessionsessrequests.session()# 使用Session的get请求网页responsesess.get(url,headersheaders)# 获取网页信息文本htmlresponse.text# ****************** End ********************* #returnhtml, sess第3关鸢尾花识别任务描述本关任务使用sklearn完成鸢尾花分类任务。相关知识为了完成本关任务你需要掌握如何使用sklearn提供的DecisionTreeClassifier。数据简介鸢尾花数据集是一类多重变量分析的数据集。通过花萼长度花萼宽度花瓣长度花瓣宽度4个属性预测鸢尾花卉属于(SetosaVersicolourVirginica)三个种类中的哪一类(其中分别用012代替)。数据集中部分数据与标签如下图所示测试答案:importpandas as pd from sklearn.treeimportDecisionTreeClassifier#********* Begin *********##读取训练集数据train_dfpd.read_csv(./step5/train_data.csv).as_matrix()#读取训练标签数据train_labelpd.read_csv(./step5/train_label.csv).as_matrix()#读取测试集数据test_dfpd.read_csv(./step5/test_data.csv).as_matrix()#建立DecisionTreeClassifier对象dtDecisionTreeClassifier()#训练模型dt.fit(train_df, train_label)resultdt.predict(test_df)resultpd.DataFrame({target:result})#保存测试集的预测结果result.to_csv(./step5/predict.csv,indexFalse)#********* End *********#第4关手写数字识别任务描述本关任务使用sklearn中的LogisticRegression类完成手写数字识别任务。相关知识为了完成本关任务你需要掌握如何使用sklearn提供的LogisticRegression类。数据简介本关使用的是手写数字数据集该数据集有 1797 个样本每个样本包括 8*8 像素实际上是一条样本有 64 个特征每个像素看成是一个特征每个特征都是float类型的数值的图像和一个 [0, 9] 整数的标签。比如下图的标签是 2 sklearn为该数据集提供了接口若想使用该数据集代码如下from sklearnimportdatasetsimportmatplotlib.pyplot as plt#加载数据集digitsdatasets.load_digits()#X表示图像数据y表示标签Xdigits.data ydigits.target#将第233张手写数字可视化plt.imshow(digits.images[232])测试答案:from sklearn.linear_modelimportLogisticRegression def digit_predict(train_image, train_label, test_image): 实现功能训练模型并输出预测结果 :param train_sample: 包含多条训练样本的样本集类型为ndarray,shape为[-1,8,8]:param train_label: 包含多条训练样本标签的标签集类型为ndarray :param test_sample: 包含多条测试样本的测试集类型为ndarry :return: test_sample对应的预测标签#************* Begin ************## 训练集变形flat_train_imagetrain_image.reshape((-1,64))# 训练集标准化train_minflat_train_image.min()train_maxflat_train_image.max()flat_train_image(flat_train_image - train_min)/(train_max - train_min)# 测试集变形flat_test_imagetest_image.reshape((-1,64))# 测试集标准化test_minflat_test_image.min()test_maxflat_test_image.max()flat_test_image(flat_test_image - test_min)/(test_max - test_min)# 训练--预测logregLogisticRegression(C4.0,solverlbfgs,max_iter100)logreg.fit(flat_train_image, train_label)returnlogreg.predict(flat_test_image)#************* End **************#

相关新闻

硬件RAID配置全解析:从原理到实战,构建高可用存储方案

硬件RAID配置全解析:从原理到实战,构建高可用存储方案

1. 项目概述:硬件RAID配置的核心价值与场景 在数据存储的世界里,速度和可靠性往往是一对难以调和的矛盾。单块硬盘,无论是性能强悍的NVMe固态,还是容量可观的机械盘,都面临着单点故障的风险。一旦硬盘“罢工”&#xf…

2026/8/16 22:48:22 阅读更多 →
CentOS服务器性能排查与健康检查:从硬件到进程的完整诊断指南

CentOS服务器性能排查与健康检查:从硬件到进程的完整诊断指南

1. 项目概述:为什么我们需要掌握服务器“体检”命令 想象一下,你负责维护一台承载着关键业务的CentOS服务器。某天深夜,你接到告警电话,说应用响应变得极其缓慢。你第一时间登录服务器,面对黑漆漆的命令行,…

2026/8/16 22:48:22 阅读更多 →
信号包络检测:从原理到实战,掌握希尔伯特变换与低通滤波核心方法

信号包络检测:从原理到实战,掌握希尔伯特变换与低通滤波核心方法

1. 项目概述:信号包络检测到底是什么? 在信号处理的世界里,我们常常面对的是各种“原始”的波形。比如,你从麦克风录下一段语音,或者从传感器采集到一段振动数据,它们看起来就是一条上下起伏、错综复杂的曲…

2026/8/16 22:47:22 阅读更多 →

最新新闻

职场新人适应指南:从环境到身份的五个系统性切换

职场新人适应指南:从环境到身份的五个系统性切换

引言:你不是不够努力,只是还没找到适应的方法 刚入职场的头几个月,很多人会经历一种说不清的“悬浮感”:明明每天都在上班,也完成了手头的任务,却总觉得没有真正落地。开会听不懂术语,协作不知道…

2026/8/17 2:53:02 阅读更多 →
Vue3 还原一个企业级后台-13-像素级验收

Vue3 还原一个企业级后台-13-像素级验收

像素级验收:如何对比 Figma 截图与开发成品 "像素级还原"这四个字被说了整整 12 篇,到底是口号还是真的做到了?本文不空谈,用 Playwright pixelmatch 把 Figma 截图和浏览器截图放一起做像素对比,量化出每一…

2026/8/17 2:53:02 阅读更多 →
学生党实惠笔记本怎么选?多款高性价比产品推荐!

学生党实惠笔记本怎么选?多款高性价比产品推荐!

特色产品如果你是正在找实惠笔记本的学生,有坏消息和好消息。坏消息是因RAM和存储芯片短缺,电脑价格异常波动。好消息是仍有很多不错的选择。在选最便宜笔记本前,可考虑多花点钱买性能更强的,尤其是为大学生买。价格明年可能持续上…

2026/8/17 2:53:02 阅读更多 →
索尼 A7R VI:6680 万像素高分辨率与高速度兼得,性价比远超 A1!

索尼 A7R VI:6680 万像素高分辨率与高速度兼得,性价比远超 A1!

索尼 A7R VI:6680 万像素的“全能选手”,高分辨率与高速度兼得,性价比远超 A1!不久前,要想用超高分辨率相机拍照,往往得为了像素做出重大牺牲。不过,索尼推出的最新旗舰高分辨率相机 A7R VI&…

2026/8/17 2:53:02 阅读更多 →
大语言模型智能体状态最小化:降低Token成本与提升性能的工程实践

大语言模型智能体状态最小化:降低Token成本与提升性能的工程实践

1. 项目概述:当上下文成为成本瓶颈最近在折腾几个基于大语言模型的智能体项目,一个绕不开的痛点越来越明显:上下文(Context)的消耗速度实在太快了。尤其是那些需要维护内部状态(State)的智能体&…

2026/8/17 2:51:01 阅读更多 →
三相功率计算:P=√3UIcosφ与P=3UIcosφ的深度辨析与应用指南

三相功率计算:P=√3UIcosφ与P=3UIcosφ的深度辨析与应用指南

1. 项目概述:一个看似简单却常被混淆的公式“三相负载的总功率P√3UIcosφ还是P3UIcosφ?” 这个问题,但凡接触过一点电气工程、工厂配电或者设备维护的朋友,估计都曾在某个深夜对着图纸或试卷纠结过。它不像那些高深的控制理论&a…

2026/8/17 2:51:01 阅读更多 →

日新闻

LabVIEW异步调用实战:从原理到生产者消费者模式,解决界面卡顿与并行处理难题

LabVIEW异步调用实战:从原理到生产者消费者模式,解决界面卡顿与并行处理难题

1. 项目概述:为什么异步调用是LabVIEW进阶的必修课? 如果你用LabVIEW做过稍微复杂点的项目,尤其是涉及界面响应、多任务并行或者硬件IO等待的场景,大概率遇到过这样的窘境:前面板点个按钮,整个程序就“卡死…

2026/8/17 0:00:08 阅读更多 →
LabVIEW异步调用实战:解决界面卡顿与并行处理难题

LabVIEW异步调用实战:解决界面卡顿与并行处理难题

1. 项目概述:为什么异步调用是LabVIEW进阶的必经之路如果你在LabVIEW里写过稍微复杂点的程序,尤其是涉及到界面响应、多任务并行或者硬件IO等待,大概率会遇到一个头疼的问题:程序“卡”住了。前面板点不动,进度条不更新…

2026/8/17 0:00:08 阅读更多 →
飞书局域网文件传输实战:3种方案实现高速点对点传输

飞书局域网文件传输实战:3种方案实现高速点对点传输

1. 项目概述:为什么要在局域网内用飞书传文件? 飞书作为一款主流的协同办公套件,其核心功能是围绕云端协作设计的。无论是文档、表格还是文件,通常的分享逻辑都是“上传到云端 -> 生成链接 -> 分享给同事”。这个流程在互联…

2026/8/17 0:00:08 阅读更多 →

周新闻

基于阿里云与通义千问(Qwen)构建AI应用:从模型调用到生产部署的完整实践指南

基于阿里云与通义千问(Qwen)构建AI应用:从模型调用到生产部署的完整实践指南

如果你是一名开发者,最近可能已经感受到了AI大模型正在从“玩具”变成“生产力工具”的强烈信号。从代码补全到智能Agent,从本地部署到云端API,我们正处在一个技术栈快速重构的节点。然而,面对层出不穷的模型、框架和工具&#xf…

2026/8/16 0:00:54 阅读更多 →
工业通信系统底层逻辑:04 反射——高频能量撞墙之后会发生什么?

工业通信系统底层逻辑:04 反射——高频能量撞墙之后会发生什么?

第四篇:反射——高频能量撞墙之后会发生什么? —— 你以为信号已经过去了,其实它正在回来打你 老Q的现场笔记 第五季,我们正式进入工业神经系统层。这里不再是单个设备的战斗,而是整个工厂“经脉”层面的秩序之战。从这一篇开始,你将第一次看清:看似简单的信号传播,背…

2026/8/16 0:00:55 阅读更多 →
【文章复现】非线性值迭代自适应动态规划(ADP):离散时间非线性系统的策略迭代自适应动态规划算法研究附Matlab代码

【文章复现】非线性值迭代自适应动态规划(ADP):离散时间非线性系统的策略迭代自适应动态规划算法研究附Matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,擅长毕业设计辅导、数学建模、数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。🍎 往期回顾关注个人主页:Matlab科研工作室👇 关注我领取海量matlab电子书和…

2026/8/16 0:03:55 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/16 6:00:23 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/16 6:00:24 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/16 6:00:27 阅读更多 →