




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Python网络爬虫导言教学概述课程性质描述
《Python网络爬虫》是一门基于工作过程开发出来的学习领域课程,是大数据、人工智能相关专业职业核心课程。本课程注重对学生职业能力和创新精神、实践能力的培养,培养学生利用主流爬虫框架进行爬虫项目的设计和开发。是融理论和实践一体化,教、学、做一体化的专业课程,是工学结合课程。
适用专业:大数据、人工智能相关专业。开设课时:56建议课时:56导言教学概述典型工作任务描述大数据时代,信息的采集是一项重要的工作,如果单纯靠人力进行信息采集,不仅低效繁琐,搜集的成本也会提高,我们可以使用网络爬虫对数据信息进行自动采集,比如应用于搜索引擎中对站点进行爬取收录,应用于数据分析与挖掘中对数据进行采集,应用于金融分析中对金融数据进行采集,除此之外,还可以将网络爬虫应用于舆情监测与分析、目标客户数据的收集等各个领域。我们可以根据爬取对象的不同设置网络爬虫的典型工作任务,包括爬取静态网页、爬取动态网页、爬取APP数据,另外,我们在爬取数据过程中会遇到反爬虫以及爬取效率的困扰,我们将反爬虫策略及其解决办法,分布式爬虫优化也作为典型工作任务。导言知识准备课程学习目标导言基本理论方面掌握爬虫程序设计理念;掌握数据提取和存储思想;掌握Scrapy爬虫框架设计思想。知识准备课程学习目标导言基本技能方面熟练掌握Requests请求源数据的方法;熟练掌握BeautifulSoup4工具解析数据的方法;熟练掌握Mechanize模拟浏览器的方法;熟练掌握XPath、css解析数据的方法;熟练掌握Scrapy网页爬取的工作流程;熟练掌握Scrapy中Item、Pipeline数据的序列化输出方法;熟练掌握Scrapy中网页及接口请求方法;熟练掌握Selenium自动化操作方法;熟练掌握Fiddler的使用方法;熟练掌握CSV、MySQL数据存储方法;掌握常见反爬虫策略的解决办法;能正确使用Scrapy+Redis进行分布式数据采集工作。知识准备课程学习目标导言职业素养方面能够完成真实业务逻辑向代码的转化;能够独立分析解决问题;能够快速准确地查找参考资料;能够与小组其他成员通力合作。知识准备学习组织形式与方法导言亲爱的同学,欢迎你学习《Python网络爬虫》课程!与你过去使用的传统教材相比,这是一种全新的学习材料,它帮助你更好地了解未来的工作及其要求,通过这本活页式教材学习如何通过爬虫采集网络数据的重要的、典型的工作,促进你的综合职业能力发展,使你有可能在短时间内成为网络爬虫的技能能手。主动学习用好工作活页团队协作把握好学习过程和学习资源知识准备学习情境设计导言爬取天气预报数据爬取百度搜索结果数据爬取汽车销售分页数据爬取百度图片数据爬取漫画数据爬取新闻类APP接口数据常见反爬虫策略及解决办法处理输入式验证码校验分布式爬取电影数据谢谢课程名称:Python网络爬虫Python网络爬虫第一单元爬取静态网页教学概述概述在网站设计中,纯粹HTML(标准通用标记语言下的一个应用)格式的网页通常被称为“静态网页”,静态网页是标准的HTML文件,它的文件扩展名是.htm、.html,可以包含文本、图像、声音、FLASH动画、客户端脚本和ActiveX控件及JAVA小程序等。静态网页是网站建设的基础,早期的网站一般都是由静态网页制作的。静态网页是相对于动态网页而言,是指没有后台数据库、不含程序和不可交互的网页。静态网页相对更新起来比较麻烦,适用于一般更新较少的展示型网站。静态网页有时也被称为平面页。静态网页面通常是超文本标记语言文档存储为文件在文件系统里头,并且可以通过HTTP访问网络服务器。第一单元爬取静态网页0203爬取天气预报数据爬取百度搜索爬取汽车销售分页数据01情境一:爬取天气预报数据01030204情境概述知识准备案例讲解总结PART01情境概述情境一:爬取天气预报数据情境概述学习情境描述教学情境描述:通过学习教师讲授相关Requests、BeautifulSoup4、CSV技术的应用,学习如何在实际静态网页数据采集中应用Requests获取网页源数据;使用BeautifulSoup4根据网页源代码提取目标数据;使用CSV将程序过程数据持久化存储于本地。这就是一种最简单的三步静态网页数据爬虫操作步骤和应用。关键知识点:爬虫的原理、HTTP请求原理、Python库环境管理、Requests网络交互、BeautifulSoup4数据结构化解析、IO流数据处理、CSV文件数据操作。关键技能点:Python库环境安装、Requests请求源数据、BeautifulSoup4数据解析、CSV本地文件数据存储。情境一:爬取天气预报数据情境概述本节课的学习目标正确理解爬虫的原理。正确掌握Http网络交互及携带信息流程。正确掌握Python模块库(Requests、BeautifulSoup4、CSV)安装管理应用。能根据实际网页源,分析网络爬虫请求限制。能根据实际网页源,使用Requests获取源代码数据。能根据HTML源代码结构,使用BeautifulSoup4获取对应节点对象。能使用BeautifulSoup4获取对应节点相关属性及内容数据。能使用CSV模块,存储程序过程中的数据到本地文件。情境一:爬取天气预报数据情境概述本节课的任务书完成通过PIP命令安装及管理Requests、BeautifulSoup4、CSV库。完成通过Requests获取中国天气网华北地区天气预报网页源代码。完成通过BeautifulSoup4解析结构化网页,并获取对应城市的各类天气数据。完成通过CSV将解析到的各城市天气数据本地结构化存储。情境一:爬取天气预报数据PART02知识准备情境一:爬取天气预报数据知识准备引导问题了解什么是网络爬虫,说明网络爬虫相关原理。了解网络爬虫的流程,并理解各流程都有什么意义。网络爬虫前我们需要准备什么?如何获取网页源代码?如何解析网页源数据?如何本地化存储数据?情境一:爬取天气预报数据知识准备知识点介绍RequestsBeautifulSoup4CSV情境一:爬取天气预报数据知识准备Requests情境一:爬取天气预报数据Requests框架介绍RequestsisanelegantandsimpleHTTPlibraryforPython,builtforhumanbeings.RequestsallowsyoutosendHTTP/1.1requestsextremelyeasily.There’snoneedtomanuallyaddquerystringstoyourURLs,ortoform-encodeyourPOSTdata.Keep-aliveandHTTPconnectionpoolingare100%automatic,thankstourllib3.Requests是一个基于Apache2协议开源的PythonHTTP库,号称是“为人类准备的HTTP库”。Requests有如特点:知识准备情境一:爬取天气预报数据Keep-Alive&连接池国际化域名和URL带持久Cookie的会话浏览器式的SSL认证自动内容解码基本/摘要式的身份认证优雅的key/valueCookie自动解压Unicode响应体HTTP(S)代理支持文件分块上传流下载连接超时分块请求支持.netrc知识准备Requests环境安装情境一:爬取天气预报数据pipinstallRequestspiplist在已安装列表中显示了requests2.21.0,表明版本为2.21.0的requests库安装成功。知识准备Requests使用方法情境一:爬取天气预报数据导入模块:importrequestsGET请求POST请求r=requests.get("")print(r.status_code)print(r.content)r=requests.post("")print(r.status_code)print(r.content)知识准备情境一:爬取天气预报数据传递参数自定义请求头指定Cookiesurl=""r=requests.get(url,params={"name":"zhangsan"})print(r.url)url='/'headers={'user-agent':'Mozilla/5.0'}r=requests.get(url=url,headers=headers)url="/cookies"r=requests.get(url,cookies={'myname':'lisi'})print(r.text)知识准备情境一:爬取天气预报数据设置超时设置代理r=requests.get('',timeout=5)proxies={'http':'8:8118','http':':9999'}r=requests.get('',proxies=proxies,timeout=2)知识准备情境一:爬取天气预报数据Session在爬取有些网页是要求登录之后的才能爬取,所以要和服务器一直保持登录状态,而不用都指定cookies,那么可以使用session来完成,Session提供的API和requests是一样的s=requests.Session()s.cookies=requests.utils.cookiejar_from_dict({"b":"d"})r=s.get('/cookies')print(r.text)r=s.get('/cookies')print(r.text)知识准备情境一:爬取天气预报数据Response当我们使用GET、POST或其他方式发起网络请求后,就可以获得一个Response对象,我们可以从这个对象中获取所有我们想要的信息。实际请求的URL:r.url推测的文本编码:r.encoding二进制相应内容:r.contentJSON相应内容:r.json()原始相应内容:r.raw响应状态码:r.status_code响应头:r.headersCookie:r.cookies响应历史:r.history知识准备BeautifulSoup4情境一:爬取天气预报数据BeautifulSoup4框架介绍BeautifulSoupisaPythonlibraryforpullingdataoutofHTMLandXMLfiles.Itworkswithyourfavoriteparsertoprovideidiomaticwaysofnavigating,searching,andmodifyingtheparsetree.Itcommonlysavesprogrammershoursordaysofwork.BeautifulSoup是一个可以从HTML或XML文件中提取数据的Python库.它能够通过你喜欢的转换器实现惯用的文档导航,查找,修改文档的方式.BeautifulSoup会帮你节省数小时甚至数天的工作时间。BeautifulSoup是一个HTML/XML的解析器,主要的功能是解析和提取HTML/XML数据。BeautifulSoup支持Python标准库中的HTML解析器,还支持一些第三方的解析器。通常情况下我们不会使用Python默认的解析器,而是使用lxml解析器,lxml解析器更加强大,速度更快,推荐使用lxml解析器。知识准备BeautifulSoup4环境安装情境一:爬取天气预报数据pipinstallBeautifulSoup4piplist在已安装列表中显示了beautifulsoup44.7.1,表明版本为4.7.1的beautifulsoup4库安装成功。知识准备BeautifulSoup4使用方法情境一:爬取天气预报数据获取soup对象html.parserlxmlxmlhtml5lib格式化输出prettify()获取节点BS4对象soup.标签名find()系列方法select()方法知识准备CSV情境一:爬取天气预报数据数据结构介绍CSV:Comma-SeparatedValues,也称为:逗号分隔值。其文件以纯文本形式存储表格数据(数字和文本)。纯文本意味着该文件是一个字符序列,不含必须像二进制数字那样被解读的数据。CSV文件由任意数目的记录组成,记录间以指定换行符分隔,默认换行符为“\r\n”;每条记录由字段组成,字段间以指定分隔符分割,默认分隔符是逗号,最常见的是逗号或制表符。通常,CSV所有记录都有完全相同的字段序列,即有公共的数据结构。通常都是纯文本文件。常用打开方式为记事本或Excel。本身并不存在通用标准,也不受存储样式限制。知识准备CSV模块安装情境一:爬取天气预报数据Python内置模块,无需额外安装进入Python交互环境,importcsv验证知识准备数据存储操作情境一:爬取天气预报数据csv模块实现用于以CSV格式读取和写入表格数据的类。csv模块的reader和writer对象读取和写入序列。程序员还可以使用DictReader和DictWriter类以字典形式读取和写入数据。csv.reader 返回一个遍历CSV文件各行的读取器对象csv.writer 返回将数据写入CSV文件的写入器对象csv.register_dialect 注册CSV方言csv.unregister_dialect 注销CSV方言csv.get_dialect 返回具有给定名称的方言csv.list_dialects 返回所有已注册的方言csv.field_size_limit 返回解析器允许的当前最大字段大小PART03案例讲解情境一:爬取天气预报数据案例讲解爬取天气预报数据情境一:爬取天气预报数据实例:“中国天气网”地区天气预报页面。案例讲解爬取天气预报数据情境一:爬取天气预报数据步骤:确定数据源确定目标数据安装环境构建项目编写网页爬虫程序编写网页解析程序编写数据存储程序运行程序效果截图案例讲解爬取天气预报数据情境一:爬取天气预报数据具体实操跟随教材内的步骤实施。PART04总结情境一:爬取天气预报数据总结总结情境一:爬取天气预报数据本情景,主要介绍了Requests、BeautifulSoup4、CSV的知识,通过对案例的学习,让同学们掌握Requests、BeautifulSoup4、CSV的运用。情境二:爬取百度搜索结果数据01030204情境概述知识准备案例讲解总结PART01情境概述情境二:爬取百度搜索结果数据情境概述学习情境描述教学情境描述:通过学习教师讲授相关Mechanize、BeautifulSoup4、CSV技术的应用,学习如何使用Mechanize模拟浏览器操作进行网页操作,并根据网页结构反馈和用户行为操作获取相关网页源数据;使用BeautifulSoup4根据网页源代码提取目标数据;使用CSV将程序过程数据持久化存储于本地。关键知识点:Mechanize环境管理、Mechanize框架理解、Mechanize模拟浏览器、Mechanize模拟用户操作、Urllib2框架理解、BeautifulSoup4数据结构化解析、IO流数据处理、CSV文件数据操作。关键技能点:Mechanize环境管理、Mechanize模拟浏览器、Mechanize模拟用户操作、BeautifulSoup4数据解析、CSV本地文件数据存储。情境二:爬取百度搜索结果数据情境概述本节课的学习目标正确理解网页交互的原理。正确掌握Http网络交互及携带信息。正确掌握Python模块库(Mechanize、BeautifulSoup4、CSV)安装管理应用。能使用Mechanize模拟浏览器发起HTTP请求访问。能使用Mechanize模拟用户行为操作并获取网页源数据。能根据HTML源代码结构,使用BeautifulSoup4获取对应节点对象。能使用BeautifulSoup4获取对应节点相关属性及内容数据。能使用CSV模块,存储程序过程中的数据到本地文件。情境二:爬取百度搜索结果数据情境概述本节课的任务书完成通过PIP命令安装及管理Mechanize、BeautifulSoup4、CSV库。完成通过Mechanize模拟浏览器访问百度资讯搜索首页,并模拟用户搜索行为,获取百度资讯搜索结果网页源代码。完成通过BeautifulSoup4结构化网页,并获取对应搜索结果数据。完成通过CSV将解析到的搜索结果数据本地结构化存储。情境二:爬取百度搜索结果数据PART02知识准备情境二:爬取百度搜索结果数据知识准备引导问题了解什么是模拟浏览器操作,说明模拟浏览器操作相关原理。了解浏览器操作都有哪些,并理解各操作都有什么意义。模拟浏览器操作,我们需要准备什么?如何获取源数据?如何解析网页源数据?如何本地化存储数据?情境二:爬取百度搜索结果数据知识准备知识点介绍Mechanize情境二:爬取百度搜索结果数据知识准备Mechanize情境二:爬取百度搜索结果数据Mechanize框架介绍StatefulprogrammaticwebbrowsinginPython.BrowsepagesprogrammaticallywitheasyHTMLformfillingandclickingoflinks.TheMechanizelibraryisusedforautomatinginteractionwithwebsites.Mechanizeautomaticallystoresandsendscookies,followsredirects,andcanfollowlinksandsubmitforms.Formfieldscanbepopulatedandsubmitted.Mechanizealsokeepstrackofthesitesthatyouhavevisitedasahistory.Python中有状态的可编程Web浏览。使用简单的HTML表单填充和单击链接以编程方式浏览页面。Mechanize是对Urllib2的部分功能的替换,能够更好的模拟浏览器行为,在Web访问控制方面做得更全面。它对protocol,cookie,redirection都做了比较好的支持,再结合BeautifulSoup和re模块,可以非常有效的解析web页面。知识准备Mechanize环境安装情境二:爬取百度搜索结果数据pipinstallmechanizepiplist在已安装列表中显示了mechanize0.4.5,表明版本为0.4.5的mechanize库安装成功。知识准备Mechanize使用方法情境二:爬取百度搜索结果数据导入模块:importmechanize浏览器对象(Browser)classmechanize.Browser(history=None,
request_class=None,
content_parser=None,
factory_class=<classmechanize._html.Factory>,
allow_xhtml=False)history:对象实现mechanize.History接口。注意,这个接口仍然是实验性的,将来可能会改变。此对象归浏览器实例所有,不能在浏览器之间共享。request_class:请求类使用。默认为mechanize.Requestcontent_parser:负责解析接收到的HTML/XHTML内容的函数。看那辆车mechanize._html.content_parser()函数获取有关此函数必须支持的接口的详细信息。factory_class:要使用的HTML工厂类。默认为mechanize.Factory知识准备情境二:爬取百度搜索结果数据请求对象(Request)classmechanize.Request(url,data=None,headers={},origin_req_host=None,unverifiable=False,visit=None,timeout=<objectobject>,method=None)url:请求的URL地址。data:与此请求一起发送的数据。可以是将被编码并作为application/x-www-form-urlencoded数据发送的字典,也可以是将按原样发送的bytestring。如果使用bytestring,还应该适当地设置content-type头。headers:要与此请求一起发送的邮件头。method:用于HTTP请求的方法。如果未指定,mechanize将根据需要选择“自动获取”或“自动发布”。timeout:超时(秒)知识准备情境二:爬取百度搜索结果数据响应对象(HTTPResponse)mechanize中的响应对象是seek()能够的file-类似于支持一些附加方法的对象,这取决于用于连接的协议。classmechanize._mechanize.HTTPResponse响应对象HTTPResponse是网络请求的响应数据封装对象,可通过此对象对响应内容进行提取,比如获取网页请求状态、网页源代码等等。HTTPResponse对象所具有的API函数和属性详见教案。知识准备情境二:爬取百度搜索结果数据链接(Link)与历史记录(History)HTML文档中的链接:classmechanize.Link(base_url,url,text,tag,attrs)浏览器访问历史记录:classmechanize.HistoryHTML表单APIHTMLForm:classmechanize.HTMLForm(action,method='GET',enctype='application/x-www-form-urlencoded',name=None,attrs=None,request_class=<class'mechanize._request.Request'>,forms=None,labels=None,id_to_labels=None,encoding=None)Control:classmechanize.Control(type,name,attrs,index=None)PART03案例讲解情境二:爬取百度搜索结果数据案例讲解爬取百度搜索结果数据情境二:爬取百度搜索结果数据案例讲解爬取百度搜索结果数据情境二:爬取百度搜索结果数据步骤:确定数据源确定目标数据安装环境构建项目编写网页爬虫程序编写网页解析程序编写数据存储程序运行程序效果截图案例讲解爬取天气预报数据情境二:爬取百度搜索结果数据具体实操跟随教材内的步骤实施。情境三:爬取汽车销售分页数据01030204情境概述知识准备案例讲解总结PART01情境概述情境三:爬取汽车销售分页数据情境概述学习情境描述教学情境描述:通过学习教师讲授相关Scrapy、XPath、MySQL技术的应用,学习如何在实际静态网页数据采集中应用Scrapy直接/级联获取单条/批量网页源数据;使用XPath规则匹配网页节点提取目标数据;使用PyMySQL存储过程结构化数据于本地MySQL数据库中。这是比Requests网络爬虫更为复杂且完善的数据采集框架应用与场景实施。关键知识点:Python库环境管理、Scrapy框架理解、Scrapy框架原理、Twisted异步网络请求、XPath结构化文档解析、MySQL数据库操作、PyMySQL结构化存储等。关键技能点:Python库环境安装、Scrapy网络请求、Twisted异步网络、XPath文档解析、MySQL结构化数据存储。情境三:爬取汽车销售分页数据情境概述本节课的学习目标正确理解Scrapy框架体系。正确理解Twisted异步网络请求原理。正确理解Scrapy网络爬虫框架及原理。掌握Scrapy项目系统配置及爬虫策略配置。正确掌握Python模块库(Scrapy、Twisted、lxml、PyMySQL等)安装管理应用。能根据实际网页源,分析网络爬虫请求限制。能正确使用Scrapy进行多层级数据采集工作。能正确使用XPath规范格式化文档并获取目标数据。能正确使用PyMySQL完成MySQL结构化数据存储。情境三:爬取汽车销售分页数据情境概述本节课的任务书完成通过PIP命令安装及管理Scrapy、Twisted、lxml、PyMySQL库。完成通过Scrappy获取列表数据、分页数据及多层级的汽车销售数据网页源代码。完成通过XPath格式化网页源文档,并获取对应类型的汽车销售数据。完成通过Pymysql将解析到的各车型销售数据结构化存储于本地MySQL中。情境三:爬取汽车销售分页数据PART02知识准备情境三:爬取汽车销售分页数据知识准备引导问题了解什么是异步网络爬虫,说明异步网络爬虫相关原理。了解Scrapy是什么框架技术,并理解其优势。Scrapy框架体系结构及原理是什么?Scrapy如何获取网页源代码?XPath如何解析网页源数据?如何本地MySQL结构化存储数据?情境三:爬取汽车销售分页数据知识准备知识点介绍ScrapyXPathPyMySQL情境三:爬取汽车销售分页数据知识准备Scrapy情境三:爬取汽车销售分页数据Scrapy框架介绍Scrapy是一种快速的高级webcrawling和webscraping框架,用于对网站进行爬网并从其页面提取结构化数据。它可以用于广泛的用途,从数据挖掘到监控和自动化测试。Scrapy是一个应用程序框架,用于对网站进行爬行和提取结构化数据,这些结构化数据可用于各种有用的应用程序,如数据挖掘、信息处理或历史存档。尽管Scrapy最初是为webscraping它还可以用于使用API提取数据(例如AmazonAssociatesWebServices)或者作为一个通用的网络爬虫。知识准备Scrapy架构情境三:爬取汽车销售分页数据知识准备Scrapy架构情境三:爬取汽车销售分页数据引擎(ScrapyEngine)调度器(Scheduler)下载器(Downloader)爬虫(Spiders)项目管道(ItemPipeline)下载器中间件(DownloaderMiddlewares)爬虫中间件(SpiderMiddlewares)调度中间件(SchedulerMiddewares)知识准备Scrapy运行流程情境三:爬取汽车销售分页数据知识准备Scrapy环境安装情境二:爬取百度搜索结果数据pipinstallScrapypiplist在已安装列表中显示了Scrapy2.3.0(具体版本以当前实际为准),表明版本为2.3.0的Scrapy库安装成功。知识准备Scrapy内置命令情境二:爬取百度搜索结果数据$scrapystartproject<project_name>[project_dir]$scrapygenspider[-ttemplate]<name><domain>$scrapysettings[options]$scrapyrunspider<spider_file.py>$scrapyshell[url]$crapyfetch<url>$scrapyview<url>$scrapyversion[-v]$scrapycrawl<spider>$scrapycheck[-l]<spider>其余命令参见教案知识准备Scrapy快速应用案例情境二:爬取百度搜索结果数据创建新的Scrapy项目构建Spider爬虫程序,对网站进行爬网并提取数据运行爬虫程序知识准备XPath情境三:爬取汽车销售分页数据XPath框架介绍XPath是一门在XML文档中查找信息的语言。XPath可用来在XML文档中对元素和属性进行遍历。XPath是W3CXSLT标准的主要元素,并且XQuery和XPointer都构建于XPath表达之上。因此,对XPath的理解是很多高级XML应用的基础。XPath基于XML的树状结构,提供在数据结构树中找寻节点的能力。知识准备XPath环境安装情境二:爬取百度搜索结果数据XPath是一种语法,它从属于框架lxml,用于解析HTML网页结构和内容解析。关于lxml框架的安装和验证在安装Scrapy框架的过程中已操作过,所以在本小节中不再赘述。知识准备XPath使用方法情境二:爬取百度搜索结果数据获取lxml.html对象Html与XPath对象互相转换XPath()选取节点谓语(Predicates)通配符获取内容和属性值知识准备PyMySQL情境三:爬取汽车销售分页数据PyMySQL模块安装pipinstallPyMySQLpiplist在已安装列表中显示了PyMySQL0.9.3,表明版本为0.9.3的PyMySQL库安装成功。知识准备PyMySQL使用方法情境二:爬取百度搜索结果数据pymysql.connections.ConnectionAPI详情参见教案pymysql.cursors.CursorAPI详情参见教案PART03案例讲解情境三:爬取汽车销售分页数据案例讲解爬取汽车销售分页数据情境三:爬取汽车销售分页数据实例:“购车网”SUV销量排行榜页面。案例讲解爬取汽车销售分页数据情境三:爬取汽车销售分页数据步骤:确定数据源确定目标数据安装环境构建项目编写数据采集程序编写数据存储程序运行程序效果截图案例讲解爬取汽车销售分页数据情境三:爬取汽车销售分页数据具体实操跟随教材内的步骤实施。PART04总结情境三:爬取汽车销售分页数据总结总结情境三:爬取汽车销售分页数据本情景,主要介绍了Scrapy、XPath、PyMySQL的知识,通过对案例的学习,让同学们掌握Scrapy、XPath、PyMySQL的运用。谢谢课程名称:Python网络爬虫Python网络爬虫第二单元爬取动态网页教学概述概述动态网页,是指跟静态网页相对的一种网页编程技术。静态网页,随着html代码的生成,页面的内容和显示效果就基本上不会发生变化了(除非修改页面代码)。而动态网页则不然,页面代码虽然没有变,但是显示的内容却是可以随着时间、环境或者数据库操作的结果而发生改变的。
动态网页是基本的html语法规范与Java、VB、VC等高级程序设计语言、数据库编程等多种技术的融合,以期实现对网站内容和风格的高效、动态和交互式的管理。因此,从这个意义上来讲,凡是结合了HTML以外的高级程序设计语言和数据库技术进行的网页编程技术生成的网页都是动态网页。第二单元爬取动态网页02爬取百度图片数据爬取漫画数据01情境一:爬取百度图片数据01030204情境概述知识准备案例讲解总结PART01情境概述情境一:爬取百度图片数据情境概述学习情境描述教学情境描述:通过对Scrapy、JSON、MySQL知识点的学习,对技术综合应用的操作,学习并掌握如何去区分静态网页和动态网页交互、去分析动态网页实际数据来源、去获取动态网页交互数据,最终达到:使用Scrapy获取动态数据源;使用JSON解析动态数据;使用PyMySQL存储动态结构化数据MySQL数据库。关键知识点:Python库环境管理;Scrapy网络交互;JSON数据格式;JSON数据解析;PyMySQL结构化存储。关键技能点:Scrapy网页及接口请求;JSON数据解析;MySQL结构化数据存储。情境一:爬取百度图片数据情境概述本节课的学习目标掌握Python模块库(Scrapy、JSON、PyMySQL等)安装管理应用。能区分静态网页和动态网页。能根据实际情况,定位动态数据来源。理解Scrapy框架体系。理解Scrapy网络爬虫框架及原理。掌握Scrapy项目系统配置及爬虫策略配置。能使用Scrapy进行网页和接口数据采集工作。能使用JSON解析动态数据源。能使用PyMySQL完成MySQL结构化数据存储。情境一:爬取百度图片数据情境概述本节课的任务书完成通过PIP命令安装及管理Scrapy、JSON、PyMySQL库。完成通过Scrappy获取列表数据、分页数据及多层级的汽车销售数据网页源代码。完成通过XPath格式化网页源文档,并获取对应类型的汽车销售数据。完成通过Pymysql将解析到的各车型销售数据结构化存储于本地MySQL中。情境一:爬取百度图片数据PART02知识准备情境一:爬取百度图片数据知识准备引导问题了解什么是动态网页,和静态网页有什么不同。如何定位动态网页数据源?如何获取动态网页数据源?动态网页数据是以什么样的格式或结构展现?如何解析动态网页数据?如何将动态数据在MySQL结构化存储?情境一:爬取百度图片数据知识准备知识点介绍ScrapyJSONPyMySQL情境一:爬取百度图片数据知识准备JSON情境一:爬取百度图片数据JSON介绍JSON(JavaScript
ObjectNotation,JS对象简谱)是一种轻量级的数据交换格式。它基于ECMAScript(欧洲计算机协会制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得JSON成为理想的数据交换语言。易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。JSON是DouglasCrockford在2001年开始推广使用的数据格式,在2005年-2006年正式成为主流的数据格式。JSON是存储和交换文本信息的语法,类似XML。JSON比XML更小、更快,更易解析。知识准备
JSON语法规则情境一:爬取百度图片数据JSON使用
JavaScript
语法来描述数据对象,但是JSON仍然独立于语言和平台。JSON语法是JavaScript语法的子集,包括以下内容:数据在名称/值对中数据由逗号分隔花括号保存对象方括号保存数组JSON支持以下数据结构:名/值对集合:这一数据结构由不同的键值对组成。无序的对象结构:多个名称/值构成的封装体,类似字典表。有序的值列表:包括数组,列表,向量或序列等等。知识准备
情境一:爬取百度图片数据JSON名称/值对JSON数据的书写格式是:名称/值对。名称/值对包括字段名称(在双引号中),后面写一个冒号,然后是值。语法如下所示:其中value所对应的值可以是:数字、字符串、逻辑值、数组、对象、null。具体描述如下:"name":value知识准备
情境一:爬取百度图片数据JSON对象JSON对象使用在大括号({})中书写,对象可以包含多个
key/value(键/值)对。其中:key必须是字符串,value可以是合法的JSON数据类型(字符串,数字,对象,数组,布尔值或null)。key和value中使用冒号(:)分割。每个key/value对使用逗号(,)分割。
数据结构如下:{"键名1":值1,"键名2":值2,……"键名n":值n}知识准备
情境一:爬取百度图片数据JSON数组JSON数组结构是用中括号“[]”括起来,中括号内部由0个或多个以英文逗号“,”分隔的值列表组成。数据结构如下:[{"键名1":值1,"键名2":值2},{"键名3":值3,"键名4":值4},……]知识准备
Python中使用JSON情境一:爬取百度图片数据
在Python中要操作JSON数据对象,需要使用json模块。
JSON模块为Python内置模块,在环境安装时已自动安装上,所以可以直接使用框架库,无需额外安装。
在json模块中,主要是对Python数据的编码和解码,分别对应函数:dumps()、loads()。知识准备
情境一:爬取百度图片数据dumps()json.dumps():对数据进行编码,将Python对象编码成JSON字符串。语法如下:Python对象转换为JSON数据会有类型转化,类型对照表如下:json.dumps(obj,skipkeys=False,ensure_ascii=True,check_circular=True,allow_nan=True,cls=None,indent=None,separators=None,encoding="utf-8",default=None,sort_keys=False,**kw)知识准备
情境一:爬取百度图片数据loads()json.loads():对数据进行解码,将JSON字符串解码成Python对象。语法如下:JSON数据转换为Python对象会有类型转化,类型对照表如下:json.loads(s[,encoding[,cls[,object_hook[,parse_float[,parse_int[,parse_constant[,object_pairs_hook[,**kw]]]]]]]])PART03案例讲解情境一:爬取百度图片数据案例讲解爬取百度图片数据情境一:爬取百度图片数据步骤:确定目标网页分析并确定目标数据安装环境构建项目编写数据采集程序编写数据存储程序运行程序效果截图案例讲解爬取百度图片数据情境一:爬取百度图片数据具体实操跟随教材内的步骤实施。PART04总结情境一:爬取百度图片数据总结总结情境一:爬取百度图片数据
本情景,主要介绍了Scrapy、JSON、PyMySQL的相关知识,通过对案例的学习,让同学们掌握
Scrapy、JSON、PyMySQL
的运用。情境二:爬取漫画数据01030204情境概述知识准备案例讲解总结PART01情境概述情境二:爬取漫画数据情境概述学习情境描述教学情境描述:通过对Selenium、PhantomJS、threading、Pillow知识点的学习,对技术综合应用的操作,学习并掌握如何去区分静态网页和动态网页交互、去分析动态网页实际数据来源、去模拟浏览器访问网页、模拟用户操作浏览器、去获取动态网页交互数据。达到本次最终目的:使用Selenium模拟浏览器与用户行为操作、使用PhantomJS提供无界面浏览器支持与滚动截屏支持、使用threading构建多线程数据采集、使用Pillow裁剪处理并保存目标图片。关键知识点:Python库环境管理;PhantomJS软件安装与配置;Selenium框架理解;Selenium原理;Selenium自动化操作;threading多线程构建与管理;Pillow图片裁剪与存储。关键技能点:PhantomJS软件安装与配置;Selenium自动化操作;threading多线程构建与管理;Pillow图片裁剪与存储。情境二:爬取漫画数据情境概述本节课的学习目标掌握Python模块库(Selenium、threading、Pillow等)安装管理应用。掌握PhantomJS软件安装与配置。能区分静态网页和动态网页。能根据实际情况,定位动态数据来源。理解Selenium自动化框架及原理。掌握Selenium运行环境和项目配置。能使用Selenium模拟浏览器操作和用户行为操作。能使用threading构建和管理多线程爬虫任务。能使用Pillow对图片进行裁剪和存储。情境二:爬取漫画数据情境概述本节课的任务书完成通过PIP命令安装及管理Selenium、threading、Pillow库。完成通过Selenium模拟浏览器请求,模拟用户行为操作,获取动漫作品的章节列表及章节漫画图片原型。完成通过threading构建和管理多线程爬虫任务。完成通过Pillow的相关模块完成对图片进行裁剪和存储操作。情境二:爬取漫画数据PART02知识准备情境二:爬取漫画数据知识准备引导问题网页中列表数据和图片加载方式有几种?分别是如何加载的,动态加载和静态加载的区别。如何定位动态网页列表数据源和图片数据源?除了Requests或Scrapy直接请求地址的方式,还可以通过哪些方式获取动态网页数据和图片数据?如何通过Selenium获取动态加载的网页图片?如何通过Selenium技术实现网页截屏?如何将图片进行裁剪并本地化存储?情境二:爬取漫画数据知识准备知识点介绍PhantomJSSeleniumthreadingPillow情境二:爬取漫画数据知识准备PhantomJS情境二:爬取漫画数据PhantomJS介绍PhantomJS是一个无界面的、可脚本编程的WebKit浏览器引擎。它可以在Windows、macOS、Linux和FreeBSD系统上运行。使用QtWebKit作为后端,它为各种Web标准提供快速和本地支持:DOM处理、CSS选择器、JSON、画布和SVG。PhantomJS有如下特点:PhantomJS是一个基于webkit内核、无界面的浏览器,即它就是一个浏览器,只是其内的点击、翻页等人为相关操作需要程序设计实现;PhantomJS提供JavascriptAPI接口,可以通过编写JS程序直接与webkit内核交互;PhantomJS的应用:无需浏览器的Web测试、网页截屏、页面访问自动化、网络监测。知识准备
PhantomJS安装与配置情境二:爬取漫画数据下载软件PhantomJS是一款无头浏览器,是一款软件。官网下载地址:
下载phantomjs-2.1.1-windows.zip后解压到本地文件夹即可。环境配置定位到phantomjs.exe所在地址,此处演示地址为:C:\Software\phantomjs-2.1.1-windows\bin,将其添加在系统环境变量中。/download.html知识准备
情境二:爬取漫画数据验证安装使用快捷键打开CMD命令窗口,输入查看PhantomJS的版本。如图:知识准备
PhantomJS运行脚本情境二:爬取漫画数据PhantomJS是一款无头浏览器,也可以使用PhantomJS命令行工具运行JS脚本。PhantomJS运行脚本案例如图:知识准备Selenium情境二:爬取漫画数据Selenium框架介绍Selenium是支持web浏览器自动化的一系列工具和库的综合项目。它提供了扩展来模拟用户与浏览器的交互,用于扩展浏览器分配的分发服务器,以及用于实现
W3CWebDriver规范的基础结构,该规范允许您为所有主要Web浏览器编写可互换的代码。Selenium的核心是
WebDriver,这是一个编写指令集的接口,可以在许多浏览器中互换运行。知识准备
Selenium搭建情境二:爬取漫画数据安装Selenium
可以使用PIP安装Python的Selenium库。语法如下:验证安装可以使用PIP验证Selenium库的安装成果。语法如下:pipinstallSeleniumpiplist知识准备
情境二:爬取漫画数据下载WebDriver二进制文件通过WebDriver,Selenium支持市面上所有主流的浏览器,如Chrom(ium)、Firefox、InternetExplorer、Opera和Safari。尽管并非所有浏览器都对远程控制提供官方支持,但WebDriver尽可能使用浏览器的内置自动化支持来驱动浏览器。常见浏览器及其对应的WebDriver二进制文件下载地址:知识准备
情境二:爬取漫画数据配置二进制文件环境通过将包含WebDriver二进制文件的文件夹添加到系统path环境变量中,Selenium将能够找到其他二进制文件,而无需您的测试代码来定位驱动程序的确切位置。如图:验证Path打开命令行窗口,输入WebDriver名称,查看驱动程序启动的输出,如图:知识准备
WebDriver通信介绍情境二:爬取漫画数据WebDriver通过一个驱动程序与浏览器对话。通信基本方式是:直接通信,WebDriver通过驱动程序向浏览器传递命令,然后通过相同的路径接收信息。结构如图:知识准备
Selenium应用情境二:爬取漫画数据实例化WebDriver定位元素操控浏览器等待Keyboard知识准备threading情境二:爬取漫画数据线程介绍多线程类似于同时执行多个不同程序。线程不能够独立执行,必须依存在应用程序中,由应用程序提供多个线程执行控制。线程在执行过程中与进程还是有区别的,每个独立的进程有一个程序运行的入口、顺序执行序列和程序的出口。多线程运行有如下优点:使用线程可以把占据长时间的程序中的任务放到后台去处理。用户界面可以更加吸引人,这样比如用户点击了一个按钮去触发某些事件的处理,可以弹出一个进度条来显示处理的进度。程序的运行速度可能加快。在一些等待的任务实现上如用户输入、文件读写和网络收发数据等,线程就比较有用了。在这种情况下我们可以释放一些珍贵的资源如内存占用等等。知识准备
threading模块情境二:爬取漫画数据Python3通过两个标准库_thread和threading提供对线程的支持。threading模块除了包含_thread模块中的所有方法外,还提供的其他方法:threading.currentThread():返回当前的线程变量。threading.enumerate():返回一个包含正在运行的线程的list。正在运行指线程启动后、结束前,不包括启动前和终止后的线程。threading.activeCount():返回正在运行的线程数量,与len(threading.enumerate())有相同的结果。知识准备
threading模块情境二:爬取漫画数据threading模块同样提供了Thread类来处理线程,Thread类提供了以下方法:run():
用以表示线程活动的方法。start():启动线程活动。join([time]):
等待至线程中止。这阻塞调用线程直至线程的join()方法被调用中止-正常退出或者抛出未处理的异常-或者是可选的超时发生。isAlive():
返回线程是否活动的。getName():
返回线程名。setName():
设置线程名。知识准备Pillow情境二:爬取漫画数据Pillow介绍Pillow是一个友好的图形处理库。PythonPillow库为您的Python翻译增加了图像处理功能。此库提供广泛的文件格式支持、高效的内部表示和相当强大的图像处理功能。核心图像库专为快速访问以几个基本像素格式存储的数据而设计。它应该为一般图像处理工具提供坚实的基础。Pillow包含了图像处理的多个模块,提供了充足的工具库支持。比如:Image、ImageChops、ImageCms、ImageColor、ImageDraw、ImageEnhance、ImageFile、ImageFilter、ImageFont、ImageGrab、ImageMath、ImageOps、ImagePath、ImageShow、...知识准备
Pillow环境情境二:爬取漫画数据安装Pillow
可以使用PIP安装Python的Pillow库。语法如下:验证安装可以使用PIP验证Pillow库的安装成果。语法如下:pipinstallPillowpiplist知识准备
Pillow应用情境二:爬取漫画数据使用Image类阅读和书写图像切割、粘贴和合并图像几何转换颜色转换图像增强PART03案例讲解情境二:爬取漫画数据案例讲解爬取漫画数据情境二:爬取漫画数据步骤:确定目标网页分析并确定目标数据安装环境构建项目编写网页爬虫程序运行程序效果截图案例讲解爬取漫画数据情境二:爬取漫画数据具体实操跟随教材内的步骤实施。PART04总结情境二:爬取漫画数据总结总结情境二:爬取漫画数据
本情景,主要介绍了Selenium、PhantomJS、threading、Pillow
的相关知识,通过对案例的学习,让同学们掌握
Selenium、PhantomJS、threading、Pillow
的运用。谢谢课程名称:Python网络爬虫Python网络爬虫第三单元
爬取APP数据教学概述概述
APP(Application),也称为手机软件或应用软件,主要指安装在智能手机上的软件,完善原始系统的不足与个性化。使手机完善其功能,为用户提供更丰富的使用体验的主要手段。手机软件的运行需要有相应的手机系统,目前主要的手机系统有:苹果公司的iOS系统、谷歌公司的Android(安卓)系统。
随着智能手机的普及,人们在沟通、社交、娱乐等活动中越来越依赖于手机app软件。手机软件是通过分析,设计,编码,生成软件,而手机软件是一种特殊的软件。
APP中主要做到的效果是数据展示和用户交互,而数据的来源,也就是本次学习情境的目标所在,是通过HTTP和Socket通信方式与后台服务器定义的接口进行交互的。教学概述教学导航知识重点Fiddler及
Android模拟器的安装使用。知识难点利用
Fiddler及
Android模拟器
进行爬取app项目开发。推荐教学方式从
Fiddler及
Android模拟器
功能进行介绍,让学生有大体了解实际爬取app项目开发,让学生掌握如何使用。建议学时8学时推荐学习方法通过老师讲解掌握
Fiddler及
Android
模拟器基本概念,然后进行实操一步步通过Fiddler及
Android模拟器构建爬虫项目,加深印象。必须掌握的理论知识Fiddler的使用;网络交互数据解析;必须掌握的技能Fiddler的安装和配置;Fiddler的使用;网络交互数据解析;模拟器的安装配置。第三单元
爬取APP数据0304Fiddler与模拟器的整合关联Fiddler和模拟器分析并确定目标数据构建项目采集数据0102情境一:使用Fiddler+Requests爬取新闻类APP接口数据01030204情景概述知识准备案例讲解总结PART01情境概述情境一:使用Fiddler+Requests爬取新闻类APP接口数据情境概述学习情境描述1.教学情境描述:通过对Fiddler工具的安装、配置和使用来定位数据访问具体细节;通过对真机或模拟器APP数据访问和用户交互操作的数据和行为解析;通过Requests或其他爬虫技术的应用,爬取手机应用APP交互数据。2.关键知识点:Fiddler的安装和配置、Fiddler的使用、网络交互数据解析、模拟器的安装配置、APP的应用、Requests数据请求、JSON数据解析、CSV数据存储。3.关键技能点:Fiddler的使用、模拟器的安装配置、Requests数据请求、JSON数据解析、CSV数据存储。
情境一:使用Fiddler+Requests爬取新闻类APP接口数据情境概述本节课的学习目标理解APP应用数据交互和用户行为交互原理。掌握Fiddler工具安装配置。掌握模拟器的安装配置。掌握Fiddler和模拟器的整合。掌握Fiddler定位解析网络数据交互功能。掌握Requests网络爬虫技术。掌握JSON数据格式并解析。掌握CSV数据格式并存储。
情境一:使用Fiddler+Requests爬取新闻类APP接口数据情境概述本节课的任务书完成Fiddler软件的安装配置。完成模拟器软件的安装配置。完成Fiddler与模拟器的整合。使用Fiddler定位新闻类APP数据交互接口与数据结构。使用Requests获取接口数据。使用JSON解析接口数据。使用CSV存储APP数据。
情境一:使用Fiddler+Requests爬取新闻类APP接口数据PART02知识准备情境一:使用Fiddler+Requests爬取新闻类APP接口数据知识准备引导问题APP数据交互和Web数据交互一样吗?如果不一样,有什么不一样?如果APP和Web数据交互不同,有什么不同?定位并抓取APP数据和Web数据一样吗?如果不一样,有什么不一样?我们可以通过什么方式定位APP数据接口?定位APP数据可能会遇到哪些问题?如何获取、解析、存储APP接口数据?
情境一:使用Fiddler+Requests爬取新闻类APP接口数据知识准备知识点介绍Fiddler介绍Fiddler安装与配置Fiddler应用Android
模拟器介绍Android
模拟器安装与配置
情境一:使用Fiddler+Requests爬取新闻类APP接口数据知识准备思维导图
情境一:使用Fiddler+Requests爬取新闻类APP接口数据知识准备Fiddler介绍
Fiddler是一个HTTP的调试代理,以代理服务器的方式,监听系统的HTTP网络数据流动。Fiddler可以让你检查所有的HTTP通讯,设置断点,以及Fiddler所有的“进出”的数据。Fiddler还包含一个简单却功能强大的基于JScript.NET事件脚本子系统,它可以支持众多的HTTP调试任务。Fiddler安装与配置
Fiddler是一款软件工具,以下是相关操作。1.1.下载软件
Fiddler有各种不同的版本,你可以根据需要下载,官网下载地址:
/download/fiddler情境一:使用Fiddler+Requests爬取新闻类APP接口数据知识准备
Fiddler安装与配置1.2.安装软件
运行下载的Fiddler安装包:FiddlerSetup.exe,选定安装地址,默认安装即可,效果如图3-2所示。情境一:使用Fiddler+Requests爬取新闻类APP接口数据知识准备
Fiddler安装与配置1.2.安装软件
情境一:使用Fiddler+Requests爬取新闻类APP接口数据知识准备
Fiddler安装与配置1.3.Fiddler配置
打开Fiddler,效果如图3-3所示
图3-3Fiddler安装情境一:使用Fiddler+Requests爬取新闻类APP接口数据知识准备
Fiddler安装与配置1.3.Fiddler配置a.配置HTTPS支持
a1:默认情况下,Fiddler不会捕获和解密安全的HTTPS流量。要捕获通过HTTPS发送的数据,需要启用HTTPS流量解密。配置项位于Tools>Options>HTTPS,配置如图3-4所示。
图3-4启用HTTPS流量解密情境一:使用Fiddler+Requests爬取新闻类APP接口数据知识准备
Fiddler安装与配置1.3.Fiddler配置a.配置HTTPS支持也可以设置跳过特定的主机流量解密,配置如图3-5所示。
图3-5过滤指定主机情境一:使用Fiddler+Requests爬取新闻类APP接口数据知识准备
Fiddler安装与配置1.3.Fiddler配置a.配置HTTPS支持HTTPS协议是安全协议,通常需要安全密钥验证等。本次APP移动端数据侦听过程安全验证要求更高,为了在保证安全的情况下提高效率,可以将服务器密钥验证忽略,并将FiddlerRootCertificate导出并导入到对应Android机器中。忽略密钥验证如图3-6所示,导出RootCertificate如图3-7所示。情境一:使用Fiddler+Requests爬取新闻类APP接口数据知识准备
Fiddler安装与配置1.3.Fiddler配置a.配置HTTPS支持
图3-6忽略安全密钥校验情境一:使用Fiddler+Requests爬取新闻类APP接口数据知识准备
Fiddler安装与配置1.3.Fiddler配置a.配置HTTPS支持
图3-7导出RootCertificate情境一:使用Fiddler+Requests爬取新闻类APP接口数据知识准备
Fiddler安装与配置1.3.Fiddler配置b.允许远程客户端连接
配置允许远程客户端连接,保持Fiddler和Android机器保持长连接状态。配置项位于Tools>Options>Connections,配置如图3-8所示。
图3-8允许客户端远程连接情境一:使用Fiddler+Requests爬取新闻类APP接口数据知识准备
Fiddler安装与配置1.3.Fiddler配置c.配置客户端应用目标端口
配置客户端应用目标端口,保持Fiddler和Android机器连接状态。配置项位于Tools>Options>Connections,配置如图3-9所示。
图3-9配置客户端应用目标端口情境一:使用Fiddler+Requests爬取新闻类APP接口数据知识准备Fiddler应用
Fiddler的主界面分为工具面板、会话面板、监控面板、状态面板。我们需要认知的主要是会话面板和监控面板。1.1.会话面板
会话面板效果如图3-10
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五年度医疗健康股权分配与产业布局协议
- 二零二五年度酒店员工劳动合同与员工培训及职业素养提升合同
- 2025年度金融控股集团间战略资金借款合同
- 二零二五年度高空作业安全协议责任书(高空设备检修安全协议)
- 二零二五年度鲜鱼养殖与品牌营销合作合同
- 二零二五年度电子商务平台技术支持合同范本
- 二零二五年度汽车租赁代驾保险保障合同
- 2025年度餐厅门面租赁与地方旅游发展合作合同
- 安徽省2025年度非全日制用工劳动合同书解除与终止协议
- 数据安全保障与服务合作合同
- 算力中心建设的技术要求
- 部编版小学道德与法治四年级下册课堂同步练习试题及答案(全册)
- 2024煤矿安全规程解读
- 德州环锂新能源科技有限公司2万吨年废旧锂电池回收项目环境影响报告书
- 2025年江苏省中职《英语》学业水平考试核心考点试题库500题(重点)
- 延期实习申请书
- 2025年江苏信息职业技术学院高职单招职业适应性测试近5年常考版参考题库含答案解析
- 易制毒化学品理论考试试题及答案
- 2024年烟台汽车工程职业学院高职单招职业适应性测试历年参考题库含答案解析
- 2024年江西旅游商贸职业学院高职单招语文历年参考题库含答案解析
- 2025年春新人教PEP版英语三年级下册课件 Unit 1 Part C 第8课时 Reading time
评论
0/150
提交评论