Python程序设计基础项目化教程 教案全套 罗阳倩子 1 Python环境安装-32 多页数据爬取_第1页
Python程序设计基础项目化教程 教案全套 罗阳倩子 1 Python环境安装-32 多页数据爬取_第2页
Python程序设计基础项目化教程 教案全套 罗阳倩子 1 Python环境安装-32 多页数据爬取_第3页
Python程序设计基础项目化教程 教案全套 罗阳倩子 1 Python环境安装-32 多页数据爬取_第4页
Python程序设计基础项目化教程 教案全套 罗阳倩子 1 Python环境安装-32 多页数据爬取_第5页
已阅读5页,还剩384页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

教学过程教学环节教学内容与过程(教学内容、教学方法、组织形式、教学手段)课前组织做好上课前的各项准备工作(打开计算机、打开课件、打开软件、打开授课计划、教案等),吸引学生注意力。课程说明【目的】使学生从了解本节课的学习目标、学习重点、考评方式等方面明确课程学习的要求和目标。课程内容描述1 本地网站数据的准备与python实现简单爬虫功能知识点1)启动Tomcat发布本地网站实验目的1)本地网站数据的准备实验环境1)OracleLinux7.42)Jdk1.8.0_1713)Pycharm4)Python3.6.5实验步骤1)基于本地的网站数据的准备1.启动Tomcat,查看发布的网站,。[Command001]:catalina.shstart[Command002]:ls/opt/tomcat/webapps/liarbry/html/2.单击桌面左下角的人形图标3.单击网页浏览器,如下图4.打开的浏览器地址栏中输入网页地址,查看网页内容。[Command003]:http://localhost:8080/liarbry/html/books-1.html2Python3实现简单爬虫功能知识点1)启动服务,发布网站。2)Python的Urllib2模拟浏览器访问网页3)Python将网页数据爬取到本地,做为实验数据使用。实验目的1)理解python的Urllib2模拟浏览器原理实验环境1)OracleLinux7.42)Jdk1.8.0_1713)Pycharm4)Python3.6.5实验步骤1)Pycharm建立Python3项目1.鼠标双击桌面“pycharm”图标,打开pycharm工具,依次选择主菜单File->NewProject…选项,在弹出的窗口中Location对应的文本框中输入项目名project,点击Create按钮,完成项目的创建。2.如果是第1次打开此工具会弹出“WelcometoPyCharmCommunityEdition”窗口,鼠标点击“Donotshowagain”,下次再打开工具时就不会弹出此窗口。然后选择“CreateNewProject”,在弹出的窗口中Location对应的文本框中输入项目名project,点击Create按钮,完成项目的创建。3.建立包名experiment,用于写清洗Python程序。具体做法:选中新建立的项目project->鼠标右键->New->PythonPackage。4.在弹出的NewPackage窗口中的文本框内,输入要建立的包名(用户可自定义)“experiment”,点击OK按键,完成包名的创建。5.此时在窗口左侧的窗口中的project项目下可以看到新建立experiment程序包,在该包下写实验相关的Python程序。6.设置统一的编码模式,使新生成的文件支持中文,统一设置utf-8编码。具体做法:File->settings->Editor->FileandCodeTemplates->PythonScript。在PythonScript对应的文本模式中输入具体编码设置,点击OK按钮,完成设置。[Code001]:#!/usr/bin/python#-*-coding:utf-8-*-2)编写Python3程序,实现爬取网页数据的功能1.为了实现爬取http://localhost:8080/liarbry/html/books-1.html网页的数据,建立python文件Spider.py编写程序。具体做法:选中包名experiment->鼠标右键->选择New->选择PythonFile。2.在弹出的窗口中,属性值Name对应的文本框中输入新建立的文件的名字“Spider”,点击OK按钮,完成文件的创建。3.在新建立的Spider.py文件中编写代码。具体代码如下。[Code002]:#!/usr/bin/python#-*-coding:utf-8-*-#加载模块importrequestsimportbs4#定义待爬取网页连接url='http://localhost:8080/liarbry/html/books-3.html'#获取网页源码response=requests.get(url)#使用bs4解析网页content=bs4.BeautifulSoup(response.content.decode("utf-8"),"lxml")#找到节点<a>的信息element=content.find_all(name='a')#打开文本文件并写入信息f1=open('urls.txt','w')f1.write(str(element).strip())f1.close()#查找第三个节点<a>中的第0个内容element=content.find_all('a')[3].contents[0]print(element)#查找href为特定链接的节点element=content.find_all(href='/catalogue/category/books/sports-and-games_17/index.html')print(element)#查找属性id为default的节点element=content.find_all(id='default')f2=open('body.txt','w')f2.write(str(element).strip())f2.close()4.其中Spider.py文件编写程序后的样式如图所示。5.代码中单击右键,选择RunSpider,运行程序。如下图所示.6.运行结果如下图7.其中urls.txt内容(内容过多,给出部分数据截图)。8.其中body.txt内容(内容过多,给出部分数据截图)。总结评价本讲主要学习了:1.借用Pycharm工具,建立Python3项目2.搭建一个本地网页3.利用python爬虫爬取本地网页上的文字内容多页数据爬取课程名称Python语言程序教学内容多页数据爬取课时1项目性质□演性 验性 □计性 √合性授课班级授课日期授课地点教学目标爬取同一网页内多个页面信息并汇总教学内容1.借用Pycharm工具,建立Python3项目2.加载带有翻页的本地多页网页3.使用python爬取网页信息4.使用Beautifulsoap解析信息并保存教学重点教学难点1.使用python爬取网页信息2.使用Beautifulsoap解析信息并保存教学准备装有Python的计算机教学课件PPT教学过程教学环节教学内容与过程(教学内容、教学方法、组织形式、教学手段)课前组织做好上课前的各项准备工作(打开计算机、打开课件、打开软件、打开授课计划、教案等),吸引学生注意力。课程说明【目的】使学生从了解本节课的学习目标、学习重点、考评方式等方面明确课程学习的要求和目标。课程内容描述1 多页数据爬取实验目的1)掌握beautifulsoup4模块的基本用法实验环境1)OracleLinux7.42)Python3.6.53)Pycharm2017.2实验步骤1)打开IDE,配置解释器(如已完成解释器配置,可跳过解释器配置步骤)1.点击桌面pycharm图标打开IDE2.在打开的窗口中选择Configure选项,接着在弹出的下拉菜单中选择Settings打开首选项菜单3.首选项菜单中选择左侧的ProjectInterpreter,在右侧下拉菜单中选择3.6.5版本解释器,并依次点击Apply与OK确认设置2)新建Project(如已完成工程创建,可跳过此步骤)1.点击CreateNewProject新建工程2.在Location文本框中补充输入project,表示将/root/PycharmProjects/project作为新工程目录,并点击create完成创建3)新建python源代码文件1.鼠标右键单击project工程,在菜单中选择New->PythonFile创建.py文件2.在弹出窗口的Name文本框中输入.py文件的文件名,本次实验推荐文件名为“多页数据爬取“。接着点击OK按钮完成python源文件的创建。创建成功后,会默认在右侧编辑区域打开该文件4)编写实验代码1.输入如下代码[Code001]:#引入request模块、beautifulsoup4模块以及csv模块importurllib.requestfrombs4importBeautifulSoupimportcsv2.输入如下代码[Code002]:#定义一个函数loadData用于爬取指定页内的表格数据,并将表格的表头返回defloadData(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.stringforkeyinkeysifkey.string!='\n']trlist=trlist[1:len(trlist)-1]fortrintrlist:tmpset=[td.stringfortdintriftd.string!='\n']resultList.append(tmpset)returnkeyset3.输入如下代码[Code003]:#定义持久化函数,将爬取后的数据写入当前目录下的csv文件中defpersistence(keyset,resultList):withopen('Titanic_train.csv','a',newline='')asfile:writer=csv.writer(file)writer.writerow(keyset)forrowinresultList:writer.writerow(row)4.输入如下代码[Code004]:#编写程序主入口,爬取1-9页数据并将全部数据持久化至csv文件中if__name__=='__main__':resultList=[]keyset=Noneforiinrange(1,10):keyset=loadData(i,resultList)

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论