《解析Python网络爬虫:核心技术、Scrapy框架、分布式爬虫》课程教学大纲(课程英文名称)课程编号:201800522062学分:5学分学时:53学时(其中:讲课学时41上机学时:12)先修课程:《Python快速编程入门》后续课程:Python数据分析与数据挖掘适用专业:信息技术及其计算机相关专业开课部门:计算机系一、课程的性质与目标《解析Python网络爬虫:核心技术、Scrapy框架、分布式爬虫》是面向计算机相关专业的一门专业进阶课,涉及抓取网页数据、数据解析、并发下载、抓取动态网页、图像识别与文字处理、存储爬虫数据、爬虫框架、分布式爬虫.
通过本课程的学习,学生能够掌握Python爬虫的基础知识,可以独立使用框架开发Python爬虫的项目程序.
二、教学条件要求操作系统:Windows7版本及以上Python环境:Python3.
6.
2开发工具:PyCharm2016.
3.
2三、课程的主要内容及基本要求第1章初识爬虫章名初识爬虫学时1学习目标1.
了解爬虫产生的背景2.
知道什么是爬虫3.
了解爬虫的用途4.
熟悉不同维度下网络爬虫的几种类型知识点了解掌握重点难点爬虫产生背景√什么是爬虫√√爬虫的用途√爬虫的分类√√√第2章爬虫的实现原理和技术章名爬虫的实现原理和技术学时4学习目标1.
掌握通用爬虫和聚焦爬虫的工作原理2.
熟悉爬虫抓取网页的流程3.
了解通用爬虫的网页分类,4.
了解爬虫要遵守的协议,及智能抓取更新网页的文件5.
熟悉防爬虫的一些应对策略6.
了解使用Python语言做爬虫的优势知识点了解掌握重点难点通用爬虫工作原理√√聚焦爬虫工作原理√√爬虫抓取网页的详细流程√通用爬虫中网页的分类√robots.
txt文件√Sitemap.
xml文件√防爬虫应对策略√√为什么选择Python做爬虫√第3章网页请求原理章名网页请求原理学时3学习目标1.
熟悉浏览器加载网页的过程2.
掌握基于HTTP协议的请求原理3.
掌握客户端HTTP请求格式4.
掌握服务端HTTP响应格式5.
熟悉HTTP抓包工具Fiddler的使用知识点了解掌握重点难点统一资源定位符URL√计算机域名系统DNS√分析浏览器显示完整网页的过程√√客户端HTTP请求格式√√√服务端HTTP响应格式√√√Fiddler工作原理√Fiddler下载安装√Fiddler界面详解√Fiddler抓取HTTPS设置√使用Fiddler捕获Chrome的会话√第4章抓取网页数据章名抓取网页数据学时6学习目标1.
了解什么是urllib库2.
会使用urllib库爬取网页3.
掌握如何转换URL编码,可以使用GET和POST两种方式实现数据传输4.
知道伪装浏览器的用途5.
掌握如何自定义opener6.
了解服务器的超时7.
熟悉一些常见的网络异常8.
掌握requests库的使用知识点了解掌握重点难点什么是urllib库√快速爬取一个网页√分析urlopen方法√使用HTTPResponse对象√构造Request对象√URL编码转换√处理GET请求√√处理POST请求√√√添加特定Headers√√简单的自定义opener√√设置代理服务器√√超时设置√URLError异常和捕获√HttpError异常和捕获√什么是requests库√使用requests发送请求√√返回Response响应√√第5章数据解析章名数据解析学时8学习目标1.
了解服务器返回的数据格式2.
会通过浏览器查看网页的结构3.
熟悉解析数据的几种技术4.
掌握正则表达式的使用,会使用re模块解析网页数据5.
掌握XPath语法的使用,会使用lxml库解析网页数据6.
掌握BeautifulSoup的使用,会使用bs4库解析网页数据7.
掌握JSONPath语法的使用,会使用json模块解析网页数据知识点了解掌握重点难点网页数据格式√查看网页结构√数据解析技术√正则表达式√√什么是XPath√XPath语法√√XPath开发工具√什么是lxml库√√lxml库的基本使用√√√什么是BeautifulSoup√构建BeautifulSoup对象√通过操作方法进行解读搜索√√√通过CSS选择器进行搜索√√什么是JSON√JSON与XML语言比较√json模块介绍√json模块基本使用√√√JSONPath介绍√JSONPath语法对比√第6章并发下载章名并发下载学时3学习目标1.
了解多线程爬虫的流程2.
掌握queue模块的使用,可以利用它实现多线程爬虫3.
熟悉协程的使用,能够用协程技术实现并发爬虫知识点了解掌握重点难点多线程爬虫流程分析√√queue(队列)模块简介√Queue类简介√√协程爬虫的流程分析√√第三方库gevent√√第7章抓取动态内容章名抓取动态内容学时4学习目标1.
知道什么是动态网页2.
掌握抓取动态网页的selenium和PhantomJS技术,学会安装和配置它们3.
掌握selenium和PhantomJS的基本使用知识点了解掌握重点难点动态网页介绍√selenium和PhantomJS概述√selenium和PhantomJS安装配置√√入门操作√√√定位UI元素√√鼠标动作链√填充表单√√弹窗处理√页面切换√页面前进和后退√获取页面Cookies√页面等待√√第8章图像识别与文字处理章名图像识别与文字处理学时4学习目标1.
了解什么是OCR技术2.
会安装Tesseract工具3.
熟悉PIL和pytesseract库4.
知道什么是文字规范的图像,能够利用pytesseract识别和处理字符5.
了解验证码的分类,能够利用pytesseract识别简单的图形验证码知识点了解掌握重点难点OCR技术简介√Tesseract引擎的下载和安装√pytesseract库简介√PIL库简介√处理图像中格式规范的文字√√对图片进行阈值过滤和降噪处理√√√识别图像的中文字符√√√验证码分类√简单识别图形验证码√第9章存储爬虫数据章名存储爬虫数据学时4学习目标1.
熟悉数据存储的几种方式2.
了解什么是MongoDB数据库3.
会在Windows平台安装和配置MongoDB数据库4.
掌握PyMongo库的使用知识点了解掌握重点难点数据存储简介√什么是MongoDB√Windows平台安装MongoDB数据库√比较MongoDB和MySQL的术语√√什么是PyMongo√PyMongo的基本操作√√√第10章初识爬虫框架Scrapy章名初识爬虫框架Scrapy学时3学习目标1.
了解常见的爬虫框架2.
掌握Scrapy框架的架构3.
熟悉Scrapy框架的运作流程4.
学会在不同的平台上安装Scrapy框架5.
掌握Scrapy框架的基本操作知识点了解掌握重点难点常见爬虫框架介绍√Scrapy框架的架构√√Scrapy框架的运作流程√√安装Scrapy框架√√新建一个Scrapy项目√√添加Item实体数据√√制作Spiders爬取网页√√√永久性存储数据√第11章Scrapy终端与核心组件章名Scrapy终端与核心组件学时4学习目标1.
会启动和使用Scrapy框架自带的shell2.
掌握Spiders组件,能够更深一步认识并使用这个组件3.
掌握ItemPipeline组件,会自定义管道来处理数据4.
掌握DownloaderMiddlewares组件,可以通过随机IP和随机用户代理应对反爬虫行为5.
掌握Settings组件,能够明确和定制各个Scrapy组件的行为知识点了解掌握重点难点启用Scrapyshell√使用Scrapyshell√√Spiders—抓取和提取结构化数据√√√自定义ItemPipeline√√√DownloaderMiddlewares—防止反爬虫√√Settings—定制Scrapy组件√√第12章自动抓取网页的爬虫CrawlSpider章名自动抓取网页的爬虫CrawlSpider学时3学习目标1.
明确CrawlSpider爬虫类的用途,可以创建使用CrawlSpider模板的爬虫2.
掌握CrawlSpider类的原理3.
掌握Rule类的使用,能够运用该类制定爬虫的爬取规则4.
掌握LinkExtractor类的使用,能够提取需要跟踪爬取的链接知识点了解掌握重点难点初识爬虫类CrawlSpider√CrawlSpider类的工作原理√√√通过Rule类决定爬取规则√√√通过LinkExtractor类提取链接√√√第13章Scrapy-Redis分布式爬虫章名Scrapy-Redis分布式爬虫学时6学习目标1.
了解什么是Scrapy-Redis,明确Scrapy和Scrapy-Redis的关系2.
熟悉Scrapy-Redis的架构和运作流程3.
掌握Scrapy-Redis的主要组件4.
会在不同的平台上独立搭建Scrapy-Redis开发环境5.
理解分布式采用的策略,可以测试服务器端和爬虫端是否能远程连接6.
掌握Scrapy-Redis的基本使用,可以在Scrapy项目的基础上实现分布式爬取知识点了解掌握重点难点Scrapy-Redis简介√Scrapy-Redis的完整架构√√Scrapy-Redis的运作流程√√Scrapy-Redis的主要组件√√安装Scrapy-Redis√安装和启动Redis数据库√修改配置文件redis.
conf√分布式策略√√测试Slave端远程连接Master端√设置Scrapy-Redis组件√√制作Spider爬取网页√√√执行分布式爬虫√√√使用多个管道存储√√√处理Redis数据库里的数据√√四、学时分配章目讲课上机合计第1章初识爬虫1学时0学时1学时第2章爬虫的实现原理和技术3学时1学时4学时第3章网页请求原理2学时1学时3学时第4章抓取网页数据5学时1学时6学时第5章数据解析7学时1学时8学时第6章并发下载2学时1学时3学时第7章抓取动态内容3学时1学时4学时第8章图像识别与文字处理3学时1学时4学时第9章存储爬虫数据3学时1学时4学时第10章初识爬虫框架Scrapy2学时1学时3学时第11章Scrapy框架的shell和组件3学时1学时4学时第12章自动抓取网页的爬虫CrawlSpider2学时1学时3学时第13章Scrapy-Redis分布式爬虫5学时1学时6学时合计41学时12学时53学时五、考核模式与成绩评定办法本课程为考试课程,期末考试采用百分制的闭卷考试模式.
学生的考试成绩由平时成绩(30%)和期末考试(70%)组成,其中,平时成绩包括出勤(5%)、作业(5%)、上机成绩(20%).
六、选用教材和主要参考书本大纲是根据教材《Python快速编程入门》所设计的.
参考书籍:传智播客.
《Python快速编程入门》人民邮电出版社.
201709七、大纲说明本课程的授课模式为:课堂授课+上机,其中,课堂主要采用多媒体的方式进行授课,并且会通过测试题阶段测试学生的掌握程度;上机主要是编写程序,要求学生动手完成指定的程序设计或验证.
撰写人:审定人:批准人:执行时间:
蓝速数据金秋上云季2G58/年怎么样?蓝速数据物理机拼团0元购劲爆?蓝速数据服务器秒杀爆产品好不好?蓝速数据是广州五联科技信息有限公司旗下品牌云计算平台、采用国内首选Zkeys公有云建设多种开通方式、具有IDC、ISP从业资格证IDC运营商新老用户值得信赖的商家。我司主要从事内地的枣庄、宿迁、深圳、绍兴、成都(市、县)。待开放地区:北京、广州、十堰、西安、镇江(市、县)。等地区数据中心业务,均KV...
官方网站:https://www.akkocloud.com/AkkoCloud新品英国伦敦CN2 GIA已上线三网回程CN2 GIA 国内速度优秀.电信去程CN2 GIALooking Glass:http://lonlg.akkocloud.com/Speedtest:http://lonlg.akkocloud.com/speedtest/新品上线刚好碰上国庆节 特此放上国庆专属九折循环优惠...
sparkedhost怎么样?sparkedhost主机。Sparkedhost于2017年7月注册在美国康涅狄格州,2018年收购了ClynexHost,2019年8月从Taltum Solutions SL收购了The Beast Hosting,同年10月从Reilly Bauer收购了OptNode Hosting。sparkedhost当前的业务主要为:为游戏“我的世界”提供服务器、虚拟...
robots文件为你推荐
播放flash企业推广推广专员一般每天要做哪些工作支付宝蜻蜓发布想做支付宝蜻蜓刷脸支付的代理么?怎么做?internetexplorer无法打开Internet Explorer 打不开了客服电话赶集网客服电话是多少银花珠树晓来看关于下雪景的诗句颁发的拼音大致的致的拼音徐州商标求江苏徐州地区的商标代理机构!即时通请问有没有人知道即时通是什么?怎样先可以开??drupal教程drupal框架初学,请问开发流程是怎么样的,这个框架是对本体做修改,是不是说最后的成品就是这个d
com域名抢注 国外服务器 紫田 账号泄露 174.127.195.202 商家促销 韩国网名大全 免费个人空间 刀片式服务器 阿里校园 umax120 银盘服务是什么 英国伦敦 卡巴斯基官网下载 黑科云 googlevoice fatcow restart 百度新闻源申请 连连支付 更多