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

类型Python程序设计基础与应用最新版教学课件第12-13章.pptx

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

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

    特殊限制:

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

    关 键  词:
    Python 程序设计 基础 应用 最新版 教学 课件 12 13
    资源描述:

    1、Python程序设计基础与应用最新版教学课件第12-13章12.1 tkinter简介Python标准库tkinter是对Tcl/Tk的进一步封装,与tkinter.ttk和tkinter.tix共同提供了强大的跨平台GUI编程的功能。作为扩展,tkinter.ttk提供了Combobox、Progressbar和Treeview等组件,tkinter.scrolledtext提供了带滚动条的文本框,messagebox、commondialog、dialog、colorchooser、simpledialog、filedialog等模块提供了各种对话框。tkinter常用组件组件名称组件名称

    2、说明说明Button按钮Canvas画布,用于绘制直线、椭圆、多边形等各种图形Checkbutton复选框形式的按钮Entry单行文本框Frame框架,可作为其他组件的容器,常用来对组件进行分组Label标签,常用来显示单行文本Listbox列表框Menu菜单Message多行文本框Radiobutton单选钮,同一组中的单选钮任何时刻只能有一个处于选中状态Scrollbar滚动条Toplevel常用来创建新的窗口12.1 tkinter简介 tkinter开发基本步骤:编写通用代码,例如数据库操作 搭建界面,放置组件,设置组件属性,可以借助于PAGE 编写组件的事件处理代码 启动应用程序,启

    3、动消息主循环12.1 tkinter简介12.2 用户登录界面例例12-1 tkinter实现用户登录界面。code例12_1.pyw12.3 选择类组件应用例例12-2 tkinter单选钮、复选框、组合框、列表框综合运用案例。code例12_2.pyw12.4 简单画图程序例例12-3 使用tkinter实现画图程序。code例12_3.pyw12.5 电子时钟例例12-4 使用tkinter实现电子时钟。code例12_4.pyw12.6 屏幕颜色选择器 例例12-5 获取并显示屏幕任意位置的颜色。code例12_5.pyw 例例12-6 使用tkinter实现抽奖式提问程序。code例

    4、12_6.pyw12.7 抽奖式提问程序12.8 简易计算器程序 例例12-7 使用tkinter实现计算器程序。code例12_7.pyw1112.9 定时自动关闭的窗口 例例12-8 使用tkinter实现定时自动关闭的窗口。code例12_8.pyw12第13章 网络爬虫入门与应用1313.1 HTML与JavaScript基础 如果只是编写爬虫程序的话,毕竟不是开发网站,所以只要能够看懂HTML代码基本上就可以了,不要求能编写。当然,对于一些高级爬虫和特殊的网站,还需要具有深厚的JavaScript功底,或者JQuery、AJAX等知识。1413.1.1 HTML基础(1)h标签在HT

    5、ML代码中,使用h1到h6表示不同级别的标题,其中h1级别的标题字体最大,h6级别的标题字体最小。该标签的用法为:一级标题二级标题三级标题1513.1.1 HTML基础(2)p标签在HTML代码中,p标签表示段落,用法为:这是一个段落1613.1.1 HTML基础(3)a标签在HTML代码中,a标签表示超链接,使用时需要指定链接地址(由href属性来指定)和在页面上显示的文本,用法为:点这里1713.1.1 HTML基础(4)img标签在HTML代码中,img标签用来显示一个图像,并使用src属性指定图像文件地址,可以使用本地文件,也可以指定网络上的图片。例如:1813.1.1 HTML基础(

    6、5)table、tr、td标签在HTML代码中,table标签用来创建表格,tr用来创建行,td用来创建单元格,用法为:第一行第一列 第一行第二列 第二行第一列 第二行第二列 1913.1.1 HTML基础(6)ul、ol、li在HTML代码中,ul标签用来创建无序列表,ol标签用来创建有序列表,li标签用来创建其中的列表项。例如,下面是ul和li标签的用法:红色 绿色 蓝色2013.1.1 HTML基础(7)div标签在HTML代码中,div标签用来创建一个块,其中可以包含其他标签,例如:红色 绿色 蓝色 第一段 第二段2113.1.2 JavaScript基础(1)在网页中使用JavaSc

    7、ript代码的方式可以在HTML标签的事件属性中直接添加JavaScript代码。例如,把下面的代码保存为index.html文件并使用浏览器打开,单击按钮“保存”,网页会弹出提示“保存成功”。2213.1.2 JavaScript基础对于较多但仅在个别网页中用到的JavaScript代码,可以写在网页中的标签中。例如,下面的代码保存为index.html并使用浏览器打开,会发现页面上显示的是“动态内容”而不是“静态内容”。静态内容 document.getElementById(test).innerHTML=动态内容;2313.1.2 JavaScript基础如果一个网站中会用到大量的Ja

    8、vaScript代码,一般会把这些代码按功能划分到不同函数中,并把这些函数封装到一个扩展名为js的文件中,然后在网页中使用。例如,和网页在同一个文件夹中的myfunctions.js内容如下:function modify()document.getElementById(test).innerHTML=动态内容;在下面的页面文件中,把外部文件myfunctions.js导入,然后调用了其中的函数:静态内容 modify();2413.1.2 JavaScript基础(2)常用JavaScript事件 把下面的代码保存为index.html并使用浏览器打开,会发现在每次页面加载时都会弹出提示,

    9、但在页面上进行其他操作时,并不会弹出提示。静态内容 2513.1.2 JavaScript基础除了常用的事件之外,还有一些特殊的方式可以执行JavaScript代码。例如,下面的代码演示了在链接标签中使用href属性指定JavaScript代码的用法。function test()alert(提示信息);点这里 2613.1.2 JavaScript基础(3)常用JavaScript对象下面的代码演示了prompt()方法的用法,将其保存为文件index.html并使用浏览器打开,会提示用户输入任意内容,然后在页面上输出相应的信息。var city=prompt(请输入一个城市名称:,烟台);

    10、document.write(你输入的是:+city);2713.1.2 JavaScript基础 把下面的代码保存为文件index.html,此时页面上会显示图像文件1.jpg的内容,单击该图像时会切换成为2.jpg的内容。2813.2 urllib基本应用与爬虫案例 Python 3.x标准库urllib提供了urllib.request、urllib.response、urllib.parse和urllib.error四个模块,很好地支持了网页内容读取功能。再结合Python字符串方法和正则表达式,可以完成一些简单的网页内容爬取工作,也是理解和使用其他爬虫库的基础。2913.2.1 ur

    11、llib的基本应用1.读取并显示网页内容 import urllib.request fp=urllib.request.urlopen(rhttp:/www.python.org)print(fp.read(100)#读取100个字节 print(fp.read(100).decode()#使用UTF8进行解码 fp.close()#关闭连接3013.2.1 urllib的基本应用2.提交网页参数(1)下面的代码演示了如何使用GET方法读取并显示指定url的内容。import urllib.request import urllib.parse params=urllib.parse.url

    12、encode(spam:1,eggs:2,bacon:0)url=http:/www.musi- with urllib.request.urlopen(url)as f:print(f.read().decode(utf-8)3113.2.1 urllib的基本应用(2)下面的代码演示了如何使用POST方法提交参数并读取指定页面内容。import urllib.request import urllib.parse data=urllib.parse.urlencode(spam:1,eggs:2,bacon:0)data=data.encode(ascii)with urllib.requ

    13、est.urlopen(http:/requestb.in/xrbl82xr,data)as f:print(f.read().decode(utf-8)3213.2.1 urllib的基本应用3.使用HTTP代理访问页面 import urllib.request proxies=http:http:/:8080/opener=urllib.request.FancyURLopener(proxies)with opener.open(http:/www.python.org)as f:f.read().decode(utf-8)3313.2.2 urllib爬虫案例 例例13-1 爬取公众

    14、号文章中的图片。第1步 确定公众号文章的地址,以微信公众号“Python小屋”里的一篇文章为例,文章标题为“报告PPT(163页):基于Python语言的课程群建设探讨与实践”,地址为:https:/ urllib爬虫案例 第2步 在浏览器(以Chrome为例)中打开该文章,然后单击鼠标右键,选择“查看网页源代码”,分析后发现,公众号文章中的图片链接格式为:3513.2.2 urllib爬虫案例 第3步 根据前面的分析,确定用来提取文章中图片链接的正则表达式:pattern=data-type=png data-src=(.+?)3613.2.2 urllib爬虫案例 第4步 编写并运行Pyt

    15、hon爬虫程序,代码如下:from re import findallfrom urllib.request import urlopenurl=https:/ urlopen(url)as fp:content=fp.read().decode()pattern=data-type=png data-src=(.+?)#查找所有图片链接地址result=findall(pattern,content)#逐个读取图片数据,并写入本地文件for index,item in enumerate(result):with urlopen(str(item)as fp:with open(str(in

    16、dex)+.png,wb)as fp1:fp1.write(fp.read()3713.3 scrapy爬虫案例 例例13-2 使用scrapy框架编写爬虫程序。第1步 使用pip命令安装好scrapy之后,在命令提示符环境中执行下面的命令创建一个项目MyCraw:scrapy startproject MyCraw3813.3 scrapy爬虫案例 第2步 然后编写Python程序MyCrawMyCrawspidersMySpider.py,用于爬取指定页面的内容,把网页内容和图片分别保存为文件,MySpider.py的代码如下:codeMySpider.py3913.3 scrapy爬虫案

    17、例 第3步 在命令提示符环境中执行下面的命令,运行爬虫程序。scrapy crawl mySpider4013.3 scrapy爬虫案例 例例13-3 使用scrapy框架编写爬虫程序,爬取天涯小说。第1步 以天涯小说“宜昌鬼事之大宗师”为例,首先确定第一页的链接为:http:/ 第2步 然后查看并分析网页源代码,确定作者ID,确定如何查找作者发表的帖子而过滤其他跟帖,并确定该小说不同页的URL之间有什么规律。4113.3 scrapy爬虫案例第3步 把这些问题都确定之后,创建爬虫项目。1)进入命令提示符(cmd)环境,切换至Python安装目录的scripts目录,执行命令scrapy st

    18、artproject xiaoshuo创建爬虫项目xiaoshuo,2)进入该目录,编写Python程序文件spidersspiderYichangGuishi.py,3)然后在命令提示符环境中执行命令scrapy crawl spiderYichangGuishi,稍等片刻即可爬取小说全文并生成记事本文档。codespiderYichangGuishi.py4213.4 BeautifulSoup用法简介 from bs4 import BeautifulSoup BeautifulSoup(hello world!,lxml)#自动添加标签hello world!BeautifulSoup

    19、(hello world!,lxml)#自动补全标签hello world!4313.4 BeautifulSoup用法简介 html_doc=The Dormouses storyThe Dormouses storyOnce upon a time there were three little sisters;and their names wereElsie,Lacie andTillie;and they lived at the bottom of a well.4413.4 BeautifulSoup用法简介 soup=BeautifulSoup(html_doc,html.pa

    20、rser)#也可以指定lxml或其他解析器 print(soup.prettify()#以优雅的方式显示出来 The Dormouses story The Dormouses story Once upon a time there were three little sisters;and their names were Elsie ,Lacie and Tillie ;and they lived at the bottom of a well.4513.4 BeautifulSoup用法简介 soup.title#访问标签的内容The Dormouses story soup.tit

    21、le.name#查看标签的名字title soup.title.text#查看标签的文本The Dormouses story soup.title.string#查看标签的文本The Dormouses story soup.title.parent#查看上一级标签The Dormouses story soup.headThe Dormouses story soup.b#访问标签的内容The Dormouses story soup.body.b#访问中标签的内容The Dormouses story soup.name#把整个BeautifulSoup对象看作标签对象document4

    22、613.4 BeautifulSoup用法简介 soup.body#查看body标签内容The Dormouses storyOnce upon a time there were three little sisters;and their names wereElsie,Lacie andTillie;and they lived at the bottom of a well.4713.4 BeautifulSoup用法简介 soup.p#查看段落信息The Dormouses story soup.pclass#查看标签属性title soup.p.get(class)#也可以这样查看

    23、标签属性title soup.p.text#查看段落文本The Dormouses story soup.p.contents#查看段落内容The Dormouses story soup.aElsie soup.a.attrs#查看标签所有属性class:sister,href:http:/ BeautifulSoup用法简介 soup.find_all(a)#查找所有标签Elsie,Lacie,Tillie soup.find_all(a,b)#同时查找和标签The Dormouses story,Elsie,Lacie,Tillie4913.4 BeautifulSoup用法简介 imp

    24、ort re soup.find_all(href=pile(elsie)#查找href包含特定关键字的标签Elsie soup.find(id=link3)#查找属性id=link3的标签Tillie soup.find_all(a,id=link3)#查找属性link3的a标签Tillie for link in soup.find_all(a):print(link.text,:,link.get(href)Elsie:http:/ BeautifulSoup用法简介 print(soup.get_text()#返回所有文本The Dormouses storyThe Dormouses

    25、 storyOnce upon a time there were three little sisters;and their names wereElsie,Lacie andTillie;and they lived at the bottom of a well.soup.aid=test_link1#修改标签属性的值 soup.aElsie soup.a.string.replace_with(test_Elsie)#修改标签文本Elsie soup.a.stringtest_Elsie5113.4 BeautifulSoup用法简介 for child in soup.body.c

    26、hildren:#遍历直接子标签 print(child)The Dormouses storyOnce upon a time there were three little sisters;and their names weretest_Elsie,Lacie andTillie;and they lived at the bottom of a well.5213.4 BeautifulSoup用法简介 test_doc=s=BeautifulSoup(test_doc,lxml)for child in s.html.children:#遍历直接子标签 print(child)for

    27、 child in s.html.descendants:#遍历子孙标签 print(child)5313.5 requests基本操作与爬虫案例 Python扩展库requests可以使用比标准库urllib更简洁的形式来处理HTTP协议和解析网页内容,也是比较常用的爬虫工具之一,完美支持Python 3.x,使用pip可以直接在线安装。安装成功之后,使用下面的方式导入这个库:import requests5413.5.1 requests基本操作(1)增加头部并设置访问代理 url=https:/ headers=user-agent:my-app/0.0.1 r=requests.get

    28、(url,headers=headers)5513.5.1 requests基本操作(2)访问网页并提交数据 payload=key1:value1,key2:value2 r=requests.post(http:/httpbin.org/post,data=payload)print(r.text)#查看网页信息,略去输出结果 url=https:/ payload=some:data r=requests.post(url,json=payload)print(r.text)#查看网页信息,略去输出结果 print(r.headers)#查看头部信息,略去输出结果 print(r.hea

    29、dersContent-Type)application/json;charset=utf-8 print(r.headersContent-Encoding)gzip5613.5.1 requests基本操作(3)获取和设置cookies 下面的代码演示了使用get()方法获取网页信息时cookies属性的用法:r=requests.get(http:/ requests基本操作 下面的代码演示了使用get()方法获取网页信息时设置cookies参数的用法:url=http:/httpbin.org/cookies cookies=dict(cookies_are=working)r=req

    30、uests.get(url,cookies=cookies)#设置cookies print(r.text)cookies:cookies_are:working 5813.5.2 requests爬虫案例 例例13-4 使用requests库爬取微信公众号“Python小屋”文章“Python使用集合实现素数筛选法”中的所有超链接。5913.5.2 requests爬虫案例 import requests url=https:/ r=requests.get(url)r.status_code#响应状态码200 r.text:300#查看网页源代码前300个字符n!-headTrap-n n

    31、 nn 筛选法 in r.text#测试网页源代码中是否包含字符串筛选法True r.encoding#查看网页编码格式UTF-86013.5.2 requests爬虫案例 links=re.findall(r for link in links:if link.startswith(http):print(link)6113.5.2 requests爬虫案例 from bs4 import BeautifulSoup soup=BeautifulSoup(r.content,lxml)for link in soup.findAll(a):#使用BeautifulSoup查找超链接地址 hr

    32、ef=link.get(href)if href.startswith(http):#只输出绝对地址 print(href)6213.5.2 requests爬虫案例 例例13-5 读取并下载指定的URL的图片文件。import requests picUrl=rhttps:/www.python.org/static/opengraph-icon-200 x200.png r=requests.get(picUrl)r.status_code200 with open(pic.png,wb)as fp:fp.write(r.content)#把图像数据写入本地文件6313.6 seleniu

    33、m爬虫案例 例例13-6 使用selenium编写爬虫程序,获取指定城市的当前天气。第1步 首先,查看一下本地计算机Windows操作系统的内部版本号,以我的Win10为例,步骤为:依次单击开始=设置=系统=关于,找到下图中的操作系统内部版本号:6413.6 selenium爬虫案例 第2步 打开网址https:/ 打开命令提示符环境,使用pip安装扩展库selenium。第4步 编写如下程序代码:import refrom selenium import webdriver#指定引擎driver=webdriver.Edge()city=input(请输入要查询的城市:).lower()#获取指定URL的信息,并进行渲染driver.get(rhttp:/openweathermap.org/find?q=0.format(city)#网页内容渲染结束之后获取网页源代码,并转换成小写content=driver.page_source.lower()matchResult=re.search(rs+city+.+?,content)if matchResult:print(matchResult.group(0)else:print(查不到,请检查城市名字。)65

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:Python程序设计基础与应用最新版教学课件第12-13章.pptx
    链接地址:https://www.163wenku.com/p-3714096.html

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


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


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

    163文库