您现在的位置是:课程
全面解析Python网络爬虫
2023-06-30 21:16课程 人已围观
获取课件直接添加博学谷微信号:bxgcourse;也可以直接加入博学谷在线学习交流QQ群:831281062;
适合人群
本课程适合具有一定Python基础,且想要快速学会网络爬虫的开发人员使用。
主讲内容
本课程基于Python 3,系统全面地讲解了Python网络爬虫的核心技术以及框架。本课程共13个部分,每部分内容介绍如下所示。
第1部分
主要是带领大家认识网络爬虫,包括爬虫产生背景、什么是爬虫、爬虫的用途、爬虫的分类等。
第2部分
主要针对爬虫的实现原理和技术进行讲解,包括爬虫实现原理、爬虫抓取网页的详细流程、通用爬虫中网页的分类、通用爬虫相关网站文件、反爬虫应对策略、为什么选择Python做爬虫等。希望读者能明白爬虫具体是怎样抓取网页的,并对抓取过程中产生的一些问题有所了解,后期会对这些问题提供一些合理的解决方案。
第3部分
主要介绍的是网页请求原理,包括浏览网页过程、HTTP网络请求原理、HTTP抓包工具Fiddler。
第4部分
介绍了用做抓取网页数据的两个库:urllib和requests。首先介绍了urllib库的基本使用,具体包括使用urllib传输数据、添加特定的Headers、设置代理服务器、超时设置、常见网络异常,然后介绍了更为人性化的requests库,并结合一个百度贴吧的案例,讲解如何使用urllib库抓取网页数据。大家应该能熟练地掌握两个库的使用,并反复使用多加练习,另外还可以参考官网提供的文档深入地学习。
第5部分
主要介绍的是解析网页数据的几种技术,包括正则表达式、XPath、Beautiful Soup和JSONPath,以及对封装了这些技术的Python模块或库的基本使用进行了讲解,包括re模块、lxml库、bs4库、json模块,并结合腾讯社招网站的案例,讲解如何使用re模块、lxml库和bs4库分别解析网页数据,以更好地区分这些技术的不同之处。大家在实际工作中,可根据具体情况选择合理的技术进行运用即可。
第6部分
主要针对并发下载进行了讲解,包括多线程爬虫流程分析、使用queue模块实现多线程爬虫、协程实现并发爬取,并结合糗事百科的案例,分别使用单线程、多线程、协程三种技术获取网页数据,并分析了三者的性能。
第7部分
围绕着抓取动态内容进行介绍,包括动态网页介绍、selenium和PhantomJS概述,selenium和PhantomJS安装配置、selenium和PhantomJS的基本使用,并结合模拟豆瓣网站登陆的案例,讲解了在项目中如何应用selenium和PhantomJS技术。
第8部分
主要针对图像识别与文字处理进行讲解,包括Tesseract引擎的下载和安装、pytesseract和PIL库、处理规范格式的文字、处理验证码等,并结合识别本地验证码图片的小程序,讲解了如何利用pytesseract识别图像中的验证码。
第9部分
主要介绍了存储爬虫数据,包括数据存储简介、MongoDB数据库简介、使用PyMongo库存储到数据库等,并结合豆瓣电影的案例,讲解了如何一步步从该网站中抓取、解析、存储电影信息。
第10部分
主要针对爬虫框架Scrapy进行初步讲解,包括常见爬虫框架介绍、Scrapy框架的架构、运作流程、安装、基本操作等。
第11部分
首先介绍了Scrapy终端与核心组件。首先介绍了Scrapy终端的启动和使用,并通过一个示例进行巩固,然后详细介绍了Scrapy框架的一些核心组件,具体包括Spiders、Item Pipeline和Settings,最后结合斗鱼App爬虫的案例,讲解了如何使用Scrapy框架抓取手机App的数据。
第12部分
继续介绍自动抓取网页的爬虫CrawlSpider的知识,包括初识爬虫类CrawlSpider、CrawlSpider类的工作原理、通过Rule类决定爬取规则和通过LinkExtractor类提取链接,并开发了一个使用CrawlSpider类爬取腾讯社招网站的案例,在案例中对本部分的知识点加以应用。
第13部分
围绕着Scrapy-Redis分布式爬虫进行了讲解,包括Scrapy-Redis的完整架构、运作流程、主要组件、基本使用,以及如何搭建Scrapy-Redis开发环境等,并结合百度百科的案例运用这些知识点。
学完收获
本课程涉及的Python网络爬虫的学习内容是很丰富的,读者学完后,能够具备以下能力:
1.能够全面地掌握抓取网页和解析网页的多种技术;
2.能够掌握一些爬虫的扩展知识,如并发下载、识别图像文字、抓取动态内容等;
3.能够熟练地掌握爬虫框架的使用,如Scrapy;
4.能够结合配套案例,提高动手能力,可以创建自己的网络爬虫项目,真正地实现举一反三。