Python第四课-爬取高校排名(课件)

2024-02-28
| 28页
| 183人阅读
| 100人下载
普通

内容正文:

少儿编程课 1 爬取高校排名 本节课我们来编写一个爬虫案例,将高校信息爬取下来,并存入Excel表 3 课程案例 4 现在我们开始编写代码,首先使用Requests库获得页面信息 1 导入requests库,将要爬取的网站赋值给变量 2 编写获取整个网页数据的函数 import requests # 要爬取的目标网站 start_url = 'https://tool.lu/school/index.html' def get_text(url): response = requests.get(url) return response.text 获得网页信息数据后,查看网页源代码,确定我们所需数据的位置 1 在网页中单击右键,然后点击查看网页源代码 2 通过查看分析,发现需要的数据被两个相同的标签包裹在其中 确定了所需信息的位置之后,我们使用字符串相关知识来获取目标信息 1 通过源代码中的标签将整个页面数据拆分 2 继续查看源代码,发现每个高校信息被<tr>标签分割 # 使用字符串截取知识点获取所有高校数据 def get_item_by_str(text): item_list = [] # 将整页数据拆为列表 list_1 = text.split('<table width="100%" cellspacing="0" cellpadding="0" class="tbl">') # 将list_1的后半部分通过<tr>在拆一次 list_2 = list_1[1].split('<tr>') 3 通过索引获得包含高校数据的部分,并通过<tr>标签在拆分一次 1 输出list_2,观察得到的数据 2 以下是一部分数据 去除脏数据 # 使用字符串截取知识点获取所有高校数据 def get_item_by_str(text): …… print(list_2) content = get_text(start_url) get_item_by_str(content) 列表第一项为空数据,之后的每一项都包含了高校的信息,但是有很多我们不需要的脏数据 1 通过切片,去除list_2列表中的第一项 2 替换每一项中的脏数据,只保留<td> 现在,我们去除列表中的脏数据 3 输出替换过后的数据 4 通过<td>标签再次将每一条数据进行拆分 for i in list_2: # 去除脏数据 for tag in [' ', ' ', '</td>', '<span style="color: #009A61;">', '</span>', '</tr>', '<tr>', '<th width="40%">', '<th width="20%">', '</th>', '<span style="color: #E74C3C;">', '</table>', '<p>注:<p>', '<spanstyle="color:#009A61;">', '<spanstyle="color:#E74C3C;">']: i = i.replace(tag, '') list_2 = list_1[1].split('<tr>')[1:] print(i) little_item = i.split('<td>') 第一条数据是我们不需要的,我们暂时先不管它 1 输出little_item,结果如下: 2 通过切片去除空数据 接着观察处理后的数据,对数据进行进一步处理 3 将处理之后的小列表添加到之前创建的空列表中 4 将完整的高校信息表作为返回值返回,同时去除第一条我们不需要的数据 可以看到,第一个列表是我们不需要的数据,剩下的每一个高校信息列表中的第一项数据都为空数据 little_item = i.split('<td>')[1:] # 将每个小列表添加到item_list中 item_list.append(little_item) return item_list[1:] 正则表达式 11 正则表达式也能够索引数据 以下是正则表达式中常用的一些规则: 语法 说明 语法 说明 . 匹配除换行符以外的所有字符 * 匹配前一个字符0次或多次 \ 转义字符,例如想要匹配 . ,使用\. + 匹配前一个字符1次或多次 […] 字符集 ? 匹配前一个字符0次或一次 \d 数字,也可写作[0-9] {m} 匹配前一个字符m次 \D 非数字,[^\d] {m,n} 匹配前一个字符m到n次 \s 空白字符 ^ 字符串以什么开头 \S 非空白字符[^\s] $ 字符串以什么

资源预览图

Python第四课-爬取高校排名(课件)
1
Python第四课-爬取高校排名(课件)
2
Python第四课-爬取高校排名(课件)
3
Python第四课-爬取高校排名(课件)
4
Python第四课-爬取高校排名(课件)
5
Python第四课-爬取高校排名(课件)
6
所属专辑
相关资源
示范课
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。