实验项目7 Python功能展示.zip
资源文件列表:

实验项目7 Python功能展示/fruit_data_with_colors.txt 2.31KB
实验项目7 Python功能展示/test0701.py 627B
实验项目7 Python功能展示/test0702.py 665B
实验项目7 Python功能展示/test0703.py 7.58KB
实验项目7 Python功能展示/实验项目7 Python功能展示.doc 221.94KB
实验项目7 Python功能展示/
资源介绍:
实验项目7 Python功能展示.zip
1
平顶山学院实验项目卡
所 用 的 主 要 设 备
实验课
名 称
《计算机工程与技术导
论》
序号
名 称
台、套数
实验室名称
S409
1
台式电脑
任课教师
2
实验学时
6
3
专 业
计算机科学与技术
班 级
24 计科 1 班
学生总数
57
实验组数
57
每组人数
1
实 验 目 的 要 求
实验 7 Python 功能展示
(一)实验目的与要求
1.通过网络资源下载,理解客户端与服务器端的活动。
2.通过文本分类或图像分类算法,理解人工智能算法特点。
(二)实验内容
1.基于 Python 在资源共享的基础上下载文本、图片等信息,理解浏览器/服务器计算模式。
2.基于 Python 与经典的数据挖掘算法(KNN、逻辑回归、决策树、线性判别分析、朴素贝叶斯、
支持向量机)实现文本分类或图像分类,理解人工智能算法求解问题的过程。
以下内容由管理部门填写:
实验序号
7
课程编号
专业分类号
教研室主任签字
时间

2
实验项目 7 Python 功能展示
一、实验目的及要求
1.通过网络资源下载,理解客户端与服务器端的活动。
2.通过文本分类或图像分类算法,理解人工智能算法特点。
实验类型:演示性实验 实验学时:6 学时 实验人数:1 人
二、实验内容
1.根据给定的 URL,利用 requests 和 BeautifulSoup 包下载文本信息。
2.根据给定的 URL,利用 os、requests、BeautifulSoup 和 urlretrieve 包
下载并保存图片信息。
3.基于 Python 和经典的数据挖掘算法:朴素贝叶斯、支持向量机、决
策树、随机森林、逻辑回归,在水果数据集实现水果图像分类。
三、实验条件
Windows 7 操作系统,Python 3.8。
四、实验相关知识点
Requests:是使用 Apache2 Licensed 许可证的基于 Python 开发的
HTTP 库,其在 Python 内置模块的基础上进行了高度的封装,从而
使得 Pythoner 进行网络请求时,变得美好了许多,使用 Requests 可
以轻而易举的完成浏览器可有的任何操作。
BeautifulSoup:是一个模块,该模块用于接收一个 HTML 或 XML
字符串,然后将其进行格式化,之后就可以使用他提供的方法进行快
速查找指定元素,从而使得在 HTML 或 XML 中查找指定元素变得简
单。

3
分类数据:实验用到的水果数据集由爱丁堡大学教授 Iain Murray 所
创。他买了很多种类的橙子、柠檬和苹果,并把它们的相关数据记录
在表格中。然后密歇根大学的一些学者将这些水果数据编排了格式,
数据已经提供,见附件。
微信提示:由于 python 版本差异问题,前两个实验如果没发运行,
把 lxml 改成 html
五、实验步骤[或实验参考代码]
1.文本下载
import requests
from bs4 import BeautifulSoup
if __name__ == '__main__':
target =
'https://www.cnr.cn/dj/rwft/20230629/t20230629_526308291.shtml'
req = requests.get(url=target)
req.encoding='gb2312'
html = req.text
bf = BeautifulSoup(html,'lxml')
##使用 find_all 方法,获取 html 信息中所有 class 属性为 showtxt
的 div 标签
##find_all 的第一个参数是获取的标签名,第二个参数 class_是
标签属性
##class 在 Python 中是关键字,所以用 class_标识 class 属性,,避

4
免冲突
texts = bf.find_all('div',class_ = 'article-content')
print(texts[0].text)
2.图片下载
import requests
import os
from bs4 import BeautifulSoup
from urllib.request import urlretrieve
url = 'http://www.onegreen.net/maps/List/List_787.html'
os.makedirs('./img/', exist_ok=True) # 创建目录存放文件
html = requests.get(url).text # 获取网页 html
soup = BeautifulSoup(html, 'lxml')
img_url = soup.find_all('img') # 获取所有的 img 标签,我在这里只是
演示下载,所有不做进一步的筛选
print(len(img_url))
for url in img_url:
ul = url['src'] # 获取 src 属性
img = 'http://www.onegreen.net/' + ul # 补全图片 url
print(img)
urlretrieve(img, './img/%s' % ul.split('/')[-1]) # 存储图片

5
3.水果图像分类
(1)数据分析
先来看看这些数据的头几行,输入代码:
%matplotlib inline
import pandas as pd
import matplotlib.pyplot as plt
fruits = pd.read_table('fruit_data_with_colors.txt')
fruits.head()
结果如图:
数据集的每一行代表水果的一个种类,每个种类有几个特征,在图表中
以列表示。
在数据集中,一共有 59 个水果和 7 个特征:
print(fruits.shape)
(59, 7)
数据集中一共有 4 种水果:
print(fruits['fruit_name'].unique())