Python网络爬虫课程简介:
为了让具备Python基础的人群适合岗位的需求,小编推出了一门全面的、系统的、简易的Python网络爬虫入门级课程,不仅讲解了学习网络爬虫必备的基础知识,而且加入了爬虫框架的内容,大家学完之后,能够全面地掌握抓取网页和解析网页的多种技术,还能够掌握一些爬虫的扩展知识,如并发下载、识别图像文字、抓取动态内容等。并且大家学完还能熟练地掌握爬虫框架的使用,如Scrapy,以此创建自己的网络爬虫项目,胜任Python网络爬虫工程师相关岗位的工作。
Python网络爬虫知识大纲:
第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网络爬虫需要掌握的全部核心技术,大家都弄清楚了吗?其实做网络爬虫并不难,只要有科学的学习方法,把理论基础和实战经验结合起来,就能实现快速掌握爬虫核心技术。