内容正文:
多页数据爬取
课程名称
Python语言程序
教学内容
多页数据爬取
课时
1
项目性质
□演示性 □验证性 □设计性 √综合性
授课班级
授课日期
授课地点
教学目标
爬取同一网页内多个页面信息并汇总
教学内容
1.借用Pycharm工具,建立Python3项目
2.加载带有翻页的本地多页网页
3.使用python爬取网页信息
4.使用Beautifulsoap解析信息并保存
教学重点
教学难点
1.使用python爬取网页信息
2.使用Beautifulsoap解析信息并保存
教学准备
装有Python的计算机
教学课件PPT
2
学科网(北京)股份有限公司
教学过程
教学环节
教学内容与过程
(教学内容、教学方法、组织形式、教学手段)
课前组织
做好上课前的各项准备工作(打开计算机、打开课件、打开软件、打开授课计划、教案等),吸引学生注意力。
课程说明
【目的】
使学生从了解本节课的学习目标、学习重点、考评方式等方面明确课程学习的要求和目标。
课程内容描述
1 多页数据爬取
实验目的
1)掌握beautifulsoup4模块的基本用法
实验环境
1)Oracle Linux 7.4
2)Python 3.6.5
3)Pycharm 2017.2
实验步骤
1)打开IDE,配置解释器(如已完成解释器配置,可跳过解释器配置步骤)
1.点击桌面pycharm图标打开IDE
2.在打开的窗口中选择Configure选项,接着在弹出的下拉菜单中选择Settings打开首选项菜单
3.首选项菜单中选择左侧的Project Interpreter,在右侧下拉菜单中选择3.6.5版本解释器,并依次点击Apply与OK确认设置
2)新建Project(如已完成工程创建,可跳过此步骤)
1.点击Create New Project新建工程
2.在Location文本框中补充输入project,表示将/root/PycharmProjects/project作为新工程目录,并点击create完成创建
3)新建python源代码文件
1.鼠标右键单击project工程,在菜单中选择New->Python File创建.py文件
2.在弹出窗口的Name文本框中输入.py文件的文件名,本次实验推荐文件名为“多页数据爬取“。接着点击OK按钮完成python源文件的创建。创建成功后,会默认在右侧编辑区域打开该文件
4)编写实验代码
1.输入如下代码
[Code 001]:
# 引入request模块、beautifulsoup4模块以及csv模块
import urllib.request
from bs4 import BeautifulSoup
import csv
2.输入如下代码
[Code 002]:
# 定义一个函数loadData用于爬取指定页内的表格数据,并将表格的表头返回
def loadData(page, resultList):
file = urllib.request.urlopen("http://localhost:18080/list?page={page}".format(page=page))
html = file.read()
soup = BeautifulSoup(html, 'html.parser')
trlist = soup.find_all('tr')
keys = trlist[0]
keyset = [key.string for key in keys if key.string != '
']
trlist = trlist[1:len(trlist) - 1]
for tr in trlist:
tmpset = [td.string for td in tr if td.string != '
']
resultList.append(tmpset)
return keyset
3.输入如下代码
[Code 003]:
# 定义持久化函数,将爬取后的数据写入当前目录下的csv文件中
def persistence(keyset, resultList):
with open('Titanic_train.csv', 'a', newline='') as file:
writer = csv.writer(file)
writer.writerow(keyset)
for row in resultList:
writer.writerow(row)
4.输入如下代码
[Code 004]:
# 编写程序主入口,爬取1-9页数据并将全部数据持久化至csv文件中
if __name__ == '__main__':
resultList = []
keyset = None
for i in range(1, 10):
keyset = loadData(i, resultList)
persistence(keyset, resultList)
5.完整代码如下图所示
5)执行程序
1.鼠标右键单击右侧编辑窗口,在菜单中选择Run ‘python主程序所在文件名’一项执行编写好的Python程序,本次实验文件名为”多页数据爬取”
2.生成的文件位于当前工程目录下
3.文件内容为
总结评价
本讲主要学习了:
1.借用Pycharm工具,建立Python3项目
2.加载带有翻页的本地多页网页
3.使用python爬取网页信息
4.使用Beautifulsoap解析信息并保存
$$