书签 分享 收藏 举报 版权申诉 / 18
上传文档赚钱

类型Python爬虫程序设计KC17.pptx

  • 上传人(卖家):三亚风情
  • 文档编号:3371831
  • 上传时间:2022-08-24
  • 格式:PPTX
  • 页数:18
  • 大小:69.42KB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《Python爬虫程序设计KC17.pptx》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    Python 爬虫 程序设计 KC17
    资源描述:

    1、1.7.1 Web学生管理程序学生管理程序学生的记录包括学号No、姓名Name、性别Sex与年龄Age,服务器的作用是建立与维护一个Sqllite的学生数据库students.db中的学生记录表students:create table students(No varchar(16)primary key,Name varchar(16),Sex varchar(8),Age int)服务器建立一个Web网站,同时提供查询学生记录、增加学生记录、删除学生记录等接口服务。服务器为了与客户端通讯,建立一个opt的参数如表1-5-1所示:opt值值含义含义init初始化学生表insert增加学生de

    2、lete删除学生 获取学生记录如果客户端向服务器发送opt=init,那么服务器创建students表,并返回是否创建成功,如果成功就返回msg:OK;如果客户端向服务器发送opt=insert,同时发送No,Name,Sex,Age参数,那么服务器向数据库表插入一条学生记录,并返回是否插入成功信息,如果成功就返回msg:OK;如果客户端向服务器发送opt=delete,同时发送No参数,那么服务器从数据库表中删除学号为No的一条学生记录,并返回是否删除成功的信息,如果成功就返回msg:OK;如果客户端不向服务器发送opt参数值,那么服务器获取所有的学生记录返回给客户端,如果成功就返回msg:

    3、OK,data:rows,其中rows是学生的记录行的列表;1.7.2 学生管理学生管理服务器服务器程序程序import flaskimport sqlite3import json app=flask.Flask(_name_)class StudentDB:def openDB(self):self.con=sqlite3.connect(students.db)self.cursor=self.con.cursor()def closeDB(self):mit()self.con.close()def initTable(self):res=try:self.cursor.execute

    4、(create table students(No varchar(16)primary key,Name varchar(16),Sex varchar(8),Age int)resmsg=OK except Exception as err:resmsg=str(err)return res def insertRow(self,No,Name,Sex,Age):res=try:self.cursor.execute(insert into students(No,Name,Sex,Age)values(?,?,?,?),(No,Name,Sex,Age)resmsg=OK except

    5、Exception as err:resmsg=str(err)return res def deleteRow(self,No):res=try:self.cursor.execute(delete from students where No=?,(No,)resmsg=OK except Exception as err:resmsg=str(err)return res def selectRows(self):res=try:data=self.cursor.execute(select*from students order by No)rows=self.cursor.fetch

    6、all()for row in rows:d=dNo=row0 dName=row1 dSex=row2 dAge=row3 data.append(d)resmsg=OK resdata=data except Exception as err:resmsg=str(err)return resapp.route(/,methods=GET,POST)def process():opt=flask.request.values.get(opt)if opt in flask.request.values else res=db=StudentDB()db.openDB()if opt=ini

    7、t:res=db.initTable()elif opt=insert:No=flask.request.values.get(No)if No in flask.request.values else Name=flask.request.values.get(Name)if Name in flask.request.values else Sex=flask.request.values.get(Sex)if Sex in flask.request.values else Age=flask.request.values.get(Age)if Age in flask.request.

    8、values else res=db.insertRow(No,Name,Sex,Age)elif opt=delete:No=flask.request.values.get(No)if No in flask.request.values else res=db.deleteRow(No)else:res=db.selectRows()db.closeDB()return json.dumps(res)if _name_=_main_:app.run()1.7.3 学生管理学生管理客户端客户端程序程序如果客户端向服务器发送opt=init,那么服务器创建students表,并返回是否创建成

    9、功,如果成功就返回msg:OK;如果客户端向服务器发送opt=insert,同时发送No,Name,Sex,Age参数,那么服务器向数据库表插入一条学生记录,并返回是否插入成功信息,如果成功就返回msg:OK;如果客户端向服务器发送opt=delete,同时发送No参数,那么服务器从数据库表中删除学号为No的一条学生记录,并返回是否删除成功的信息,如果成功就返回msg:OK;如果客户端不向服务器发送opt参数值,那么服务器获取所有的学生记录返回给客户端,如果成功就返回msg:OK,data:rows,其中rows是学生的记录行的列表;import urllib.requestimport js

    10、on class Student:def _init_(self,No,Name,Sex,Age):self.No=No self.Name=Name self.Sex=Sex self.Age=Age def show(self):print(%-16s%-16s%-8s%-4d%(self.No,self.Name,self.Sex,self.Age)students=url=http:/127.0.0.1:5000 def listStudents():global students print(%-16s%-16s%-8s%-4s%(No,Name,Sex,Age)for s in s

    11、tudents:s.show()def insertStudent(s):global students i=0 while(i studentsi.No):i=i+1 if(i 0):data=data+buf else:break data=data.decode()data=json.loads(data)if datamsg=OK:data=datadata for d in data:#each d is a dictionary s=Student(dNo,dName,dSex,dAge)students.append(s)except Exception as exp:print

    12、(exp)try:readStudents()while True:print()print(*学生名单*)print(0.初始化学生表)print(1.查看学生列表)print(2.增加学生记录)print(3.删除学生记录)print(4.退出这个程序)s=input(请选择(0,1,2,3,4):)if(s=0):initialize()elif(s=1):listStudents()elif(s=2):insertRow()elif(s=3):deleteRow()elif(s=4):breakexcept Exception as exp:print(exp)客户端结果示例:*学生名单*0.初始化学生表1.查看学生列表2.增加学生记录3.删除学生记录4.退出这个程序请选择(0,1,2,3,4):1No Name Sex Age 1 2 男 23 2 2 女 21 客户端显示有两条记录存在。

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:Python爬虫程序设计KC17.pptx
    链接地址:https://www.163wenku.com/p-3371831.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库