网络爬虫开发
网络爬虫开发
1万+ 人选课
更新日期:2025/04/28
开课平台智慧树
开课高校杨凌职业技术学院
开课教师纪娜张笑岳超刚陈阳冯春卫杨兰杨沛王龙王金龙陈高锋薛海斌黄彬
学科专业
开课时间2025/01/21 - 2025/07/20
课程周期26 周
开课状态开课中
每周学时-
课程简介
当你使用搜索引擎开始搜索互联网信息时,你已经享受网络爬虫带来的技术福利,如果把互联网就比作一张大网,而爬虫便是在这张网上爬来爬去的蜘蛛,如果它遇到你想要的资源,那么它是按照一定的规则,自动从网站的相关网页中自动搜索与提取互联网上公开且可以访问到的网页信息数据的一种程序。互联网中的海量数据孕育巨大价值,通过对这些数据进行专业化处理,分析提取“加工”后实现数据的“增值”,能更好地辅助决策。 现阶段,在我国的科学技术和经济发展中,对海量数据采集需求迫切,提取与存储这些数据是进一步实现数据分析的关键与前提。网络爬虫已经成为自动获取互联网数据的主要方式,目前,网络爬虫技术应用很广泛,可以使用搜索引擎搜索网站公开信息进行分析,汇总新闻摘要、跟踪特定市场的趋势,或者收集每日股票价格以建立预测模型等。但是,如果网络爬虫技术使用不当,会造成侵犯公民个人信息、侵犯著作权、甚至造成非法侵入或获取计算机信息系统等一系列的法律纠纷。 同学们,让我们学会正确地使用网络爬虫这把双刃剑,牢记“数据爬取有底线”这句安全用语,通过本课堂系统学习Python和网页的基础知识,到网页数据获取、解析、存储的进阶知识学习中,掌握“大浪淘金,获取数据——剥丝抽茧,解析数据——“数”尽其用,存储数据”等专业知识和技能。在人工智能时代,海量数据的获取、分析和应用是辅助国计民生决策的重要一环,同学们,让我们一起走进《网络爬虫开发》在线课堂,掌握Python爬取网络数据并提取信息的"小"本领吧。
课程大纲

在线教程

章节简介教学计划
初识网络爬虫
学习资料 登录后可预览视频
初识爬虫
纪娜
学习资料
网络爬虫的基本原理和robots协议
纪娜
学习资料
爬虫基础-python基础
学习资料
python概述
岳超刚
python开发环境安装
学习资料
python开发环境安装概述
岳超刚
实践操作—python和pycharm安装
岳超刚
学习资料
python基础语法
岳超刚
python常用语句
岳超刚
python正则表达式
岳超刚
学习资料
python基础数据结构:列表、元组、字典
岳超刚
python函数的定义与调用
岳超刚
爬虫基础-Web页面
学习资料
HTTP基础知识
HTTP基本原理
张笑
HTTP请求过程
张笑
学习资料
网页基础
学习资料
HTTP网页基础
张笑
学习资料
CSS和JavaScript
张笑
学习资料
Cookies和Session
学习资料
静态网页和动态网页
张笑
学习资料
会话和Cookies
张笑
谷歌浏览器开发者工具
张笑
学习资料
爬虫进阶-网页数据获取
学习资料
urlLib基本库
纪娜
学习资料
urlLib基本库中的urlopen库函数
纪娜
学习资料
requests库
纪娜
学习资料
requests库中的更多操作方法
纪娜
学习资料
requests库中get()方法进行二进制文件爬取操作
纪娜
学习资料
使用requests库对错误和异常的处理
纪娜
学习资料
爬虫进阶-网页数据解析
数据解析概述
陈阳
学习资料
Xpath概述
岳超刚
学习资料
lxml库解析节点谓语
岳超刚
学习资料
初识BS解析库
纪娜
学习资料
BS解析库的节点选择器、方法选择器
纪娜
学习资料
BS解析库的CSS选择器
纪娜
学习资料
pyquery解析库
纪娜
学习资料
爬取天气预报
陈阳
学习资料
案例:爬取《觉醒年代》短评
纪娜
爬虫实战-网页数据存储
学习资料
文件的打开与关闭
张笑
学习资料
文件的读与写
张笑
学习资料
数据存储在文本文件中
张笑
学习资料
数据存储在关系型数据库中
陈阳
MongoDB数据库
学习资料
MongoDB介绍与安装
岳超刚
实践操作—MongoDB数据库和图形化工具安装
岳超刚
案例:爬取《觉醒年代》短评存入txt文件
纪娜
学习资料
案例:爬取陕西热门景点数据攻略存储csv
纪娜
学习资料
案例:爬取学生信息并保存在数据库
纪娜
爬虫高阶-动态网页爬取
AJax数据爬取
张笑
学习资料
安装Selenium
安装Selenium概述
张笑
实践操作—Selenium软件的安装
张笑
学习资料
Selenium的基本操作
学习资料
Selenium的基本操作概述
张笑
实践操作—访问百度首页
张笑
动态渲染页面爬取Selenium的使用进阶
陈阳
学习资料
案例:使用selenium爬取某聘任网站
纪娜
学习资料
爬虫高阶-Scrapy框架
学习资料
Scrapy爬虫框架概述
岳超刚
学习资料
实践操作—Scrapy安装与使用
岳超刚
  • 项目一初识网络爬虫

    互联网已经成为人们搜寻信息的重要来源,人们习惯于从搜索引擎上根据关键字查找自己感兴趣的网站,其实,搜索引擎找到这些网站使用的技术就是使用了网络爬虫不停地从互联网抓取网站数据,并将网站镜像保存在本地,这才能为大众提供信息检索的功能。本章通过学习网络爬虫的概念、爬虫的作用、爬虫的分类,掌握爬虫的运行原理和robots协议。通过本章的学习,培养学生做人做事守规矩的意识。

  • 1.1初识爬虫

    本节主要从爬虫产生背景引出网络爬虫的概念,并介绍网络爬虫的作用以及分类。

  • 1.2网络爬虫的基本原理和robots协议

    本节主要以通用爬虫和聚焦爬虫为例,介绍爬虫的工作原理。由于服务器上的数据有产权归属,网络爬虫获取数据后非法牟利将带来法律风险,很多网站采用robots协议限制网络爬虫,我们在具体的爬取过程中,通过学习协议内容,做好知法守法的技术人。

  • 项目二爬虫基础-python基础

    Python是一种解释型、面向对象、动态数据类型的高级程序设计语言。Python语言可以用于很多的领域,从科学计算到游戏开发、网络爬虫,Python编程语言的身影无处不在。本章主要介绍Python的基础语法和网络爬虫所用到常用语句。通过本章的学习,培养学生实践出真知的哲学思维。

  • 2.1python概述

    本节主要介绍Python程序设计语言的发展历程。

  • 2.2python开发环境安装

    本节主要介绍Python程序设计语言的解释器和开发工具的安装。

  • 2.3python基础语法

    本节主要介绍python语言的程序风格、基础数据类型和常用操作符。

  • 2.4python常用语句

    本节主要介绍Python语言的判断语句、循环语句和其他语句的应用。

  • 2.5python正则表达式

    本节主要介绍python语言中正则表达式的基础概念和常见应用。

  • 2.6python基础数据结构:列表、元组、字典

    本节主要介绍Python语言中常用的基础数据结构:列表、元组和字典。

  • 2.7python函数的定义与调用

    本节主要介绍Python语言中函数的定义和基本调用。

  • 项目三爬虫基础-Web页面

    网络爬虫主要是爬取网页数据以及解析网页结构,因此,掌握Web基础知识至关重要。本章主要介绍HTTP基础知识、网页基础、Cookies和Session以及谷歌浏览器开发者工具。学习了Web基础之后,将会为后续的网络爬虫开发打下基础。通过本章的学习,树立事事有回应的工作责任意识。

  • 3.1HTTP基础知识

    本节主要介绍URI和URL、超文本、HTTP和HTTPS以及HTTP请求过程,通过本节的学习,掌握HTTP基本原理,了解浏览器与Web服务器之间的通信方式和交互过程,能加深对网络爬虫的理解。

  • 3.2网页基础

    本节主要从网页的基本结构以及编写网页的三大技术HTML、CSS和JavaScript等内容介绍网页的基础知识。

  • 3.3Cookies和Session

    本节主要介绍静态网页和动态网页的特点与区别、Web中会话的过程、Cookie和Session原理。

  • 3.4谷歌浏览器开发者工具

    本节将从如何打开谷歌浏览器开发者工具和开发者工具的功能两个方面,介绍开发者工具的使用。

  • 项目四爬虫进阶-网页数据获取

    爬虫的基本操作是模拟浏览器向服务器发出请求,本章将从爬虫最基础的知识学起,由浅入深的讲解Python中常用的网络请求库urllib、requests、httpx等库进行HTTP网络请求。通过本章学习使用简单的语句完成网络请求的这一过程,树立学生的创新思维意识,和科技发展对改变生活的理念。

  • 4.1urlLib基本库

    基本的网络请求库urllib是python自带的库,不需要安装。它可以模拟服务器的行为,向指定的服务器发送一个请求,并保存服务器返回的数据。本节主要介绍urllib库的基本功能和4大模块。

  • 4.2urlLib基本库中的urlopen库函数

    本节选用4行代码完成请求和响应得到网页内容的案例,重点介绍了urlopen函数,该函数可以简单地实现请求的发送并得到响应,同时介绍了该函数的常用参数。

  • 4.3requests库

    Requests 库是推荐读者使用的手写爬虫常用库,属于第三方库需要手动安装。本节主要介绍Requests库的安装,和使用 requests库里的get()方法返回一个HTML文档。通过案例的学习,我们可以了解到当指定encoding编码,可以避免爬取后的网页内容解析出现乱码。

  • 4.4requests库中的更多操作方法

    本节内容中我们以百度中搜索西安页面为例学习Requests库中的更多操作,学习的主要内容有通过案例中请求头设置和响应时间,来解决大部分网站的反爬措施。

  • 4.5requests库中get()方法进行二进制文件爬取操作

    网页中图片、音频、视频这些文件本质上都是由二进制码组成的,由于有特定的保存格式和对应的解析方式,我们才可以看到网页上这些形形色色的多媒体。想要爬取它们,就需要要拿到它们的二进制码。在本节内容中我们使用案例爬取图片、音频和视频等特有的二进制文件。

  • 4.6使用requests库对错误和异常的处理

    在爬虫连接和请求URL的过程中,由于服务器、通信链路等原因或产生各种错误和异常,例如连接超时、页面不存在、网站关闭、禁止访问,设计时我们要考虑各种可能出现的问题,避免爬虫程序崩溃或低效率运行。本节内容是使用Requests库对爬取时产生的错误和异常的进行处理。

  • 项目五爬虫进阶-网页数据解析

    除了向服务器发出请求,下载HTML源码后,我们现在的任务是通过解析网页结构获取网页包含的数据信息,如文本、图片、视频等。这就需要爬虫具备定位网页中信息的位置并解析网页内容的功能。本章重点讲解使用LXML库和其使用的XPath语法,使用BeautifulSOAP库和PyQuery库等常用网页解析工具解析网页内容,获取其中元素及相关信息。通过本章的学习,培养学生创新改革精神,在本章的案例中通过爬取影评,引导学生筑牢制度自信的思想根基,激发学生科技报国的家国情怀和使命担当,树立为中华民族伟大复兴而奋斗的信念。

  • 5.1数据解析概述

    互联网WEB页面中包含有丰富的信息内容,对于互联网大数据分析有用的信息可能是某个新闻报道页面中的正文部分,也可能是某网络论坛中的帖子信息、人际关系信息等。不管那部分的内容,对于服务器端来说,它返回给客户端浏览器的数据格式可分为非结构化和结构化两种。在本节内容中,通过介绍数据格式,认识不同的数据解析技术。

  • 5.2Xpath概述

    本节主要介绍解析库XML文件的基础和Xpath概念。

  • 5.3lxml库解析节点谓语

    本节主要介绍LXML的作用、Element对象的解析以及Xpath谓语的应用。

  • 5.4初识BS解析库

    对于一个网页来说,都有一定的特殊结构和层级关系,很多节点都有ID或class来做区分,这一节,我们介绍一个强大的解析工具Beautiful Soup--美味汤,名字来源于《爱丽丝梦游仙境》中的一首诗。在这节内容中,我们来学习BS解析库(Beautiful Soup简称,以下相同)的安装,和BS解析库的prettify()方法。

  • 5.5BS解析库的节点选择器、方法选择器

    这一节,我们介绍BS解析库的节点选择器和方法选择器,使用它们对网页进行更好的结构解析,获得属性或对应的文本内容。其实,直接调用节点的名称就可以选择节点元素,而信息的提取方式,就是BS对象访问节点后加以特定属性即可获取节点属性的值或节点的名称。

  • 5.6BS解析库的CSS选择器

    网页结构由HTML、CSS和JavaScript等组成,CSS即层叠样式表,在网页呈现出特别的显示。本节内容通过学习BS库中提供的select()方法,将CSS选择器搜索到的结果存放到列表中完成特定格式网页结构的解析。

  • 5.7pyquery解析库

    本节内容是通过案例讲解PyQuery解析库,该库是一个类似于jQuery的解析网页工具,使用lxml操作xml和html文档,它的语法和jQuery很像。和上面学习的XPATH库,Beautiful Soup库比起来,PyQuery更加灵活,提供增加节点的class信息,移除某个节点,提取文本信息等功能。我们通过案例讲解PyQuery解析库的初始化和常用操作方法。

  • 5.8爬取天气预报

    本节主要介绍爬取天气预报的案例,通过对网页的HTML代码分析,找到代码规律,使用requests库和BS解析库的基本语法爬取天气预报数据信息,最后成功爬取西安一周的天气预报数据。

  • 5.9案例:爬取《觉醒年代》短评

    回溯到100年多年前,在古老的中国大地上,时局不稳、动荡不安。这节的内容是通过观看《觉醒年代》,引导学生回顾那段那段峥嵘岁月,在那段历史中,中国之觉醒并非一朝一夕,而是牺牲,是对信念的坚守。 案例用所学的requests库和beautifulsoup库抓取网页数据和进行网页数据解析,爬取《觉醒年代》短评。此案例意在激发学生科技报国的家国情怀和使命担当,树立为中华民族伟大复兴而奋斗的信念。案例仅作为教学参考,不得作为商业用途。

  • 项目六爬虫实战-网页数据存储

    当我们爬取和解析网页数据后,需要将数据进行保存。本章主要介绍数据存储在文本文件中、数据存储在关系型数据库中以及存储在MongoDB数据库。

  • 6.1文件的打开与关闭

    本节主要介绍文件的打开方法open(),文件的访问模式、文件的关闭方法close()。通过本节的学习,掌握文本文件的打开与关闭的主要内容。

  • 6.2文件的读与写

    本节主要介绍写文件、读文件、文件重命名、文件删除、获取当前目录以及改变默认目录。通过本节的学习,掌握文件的读写方法。

  • 6.3数据存储在文本文件中

    本节主要介绍TXT文件存储、JSON文件存储、CSV文件存储。通过本节的学习,掌握三种类型的文本文件存储。

  • 6.4数据存储在关系型数据库中

    本节主要介绍关系型数据库mysql下载与安装,以及Python连接Mysql数据库的方法。

  • 6.5MongoDB数据库

    本节主要介绍非关系型数据库MongoDB的概念、安装与启动,通过pymongo 连接mongo db的方法。

  • 6.6案例:爬取《觉醒年代》短评存入txt文件

    爬虫的数据存储可以分为文件存储和数据库存储,对于中小规模的爬虫而言,可以将爬虫结果汇合到一个文件进行持久化存储。本节内容是在爬取《觉醒年代》短评的基础上,将爬取的内容保存在txt文本中,生成词云效果。

  • 6.7案例:爬取陕西热门景点数据攻略存储csv

    这节的内容是借助知识的力量来智游陕西,畅享三秦。为了让大家更好的了解陕西旅游特色,我们今天爬取陕西的热门景点。通过分析网页结构,发送请求、进行页面解析、最后将数据存储到CSV文件中,通过这个案例我们在感受祖国大好河山的同时,一起给自己做一份小小的旅游数据攻略吧。案例仅作为教学参考,不得作为商业用途。

  • 6.8案例:爬取学生信息并保存在数据库

    这节的案例是爬取网站学生信息,并进行存储至mySQL开源关系型数据库。案例仅作为教学参考,不得作为商业用途。

  • 项目七爬虫高阶-动态网页爬取

    在前面的章节中介绍了对静态网页的爬取,本章节介绍动态网页爬取。主要内容为Ajax数据爬取、Selenium的安装、基本操作以及使用进阶,最后通过爬取某招聘网站掌握selenium动态爬取的技术。

  • 7.1AJax数据爬取

    本节主要介绍什么是Ajax,Ajax的分析方法、Ajax的结果提取。通过本节的学习掌握Ajax数据爬取的方法。

  • 7.2安装Selenium

    本节主要介绍Selenium概述、Selenium的安装方法以及chromedrive下载与配置。通过本节的学习,掌握selenium的安装与配置。

  • 7.3Selenium的基本操作

    本节学习Selenium的相基本操作。主要内容为:创建浏览器对象、浏览器对象常见操作以及访问某主页。通过本节的学习,能够实现使用Selenium进行网页数据爬取。

  • 7.4动态渲染页面爬取Selenium的使用进阶

    本节主要内容是介绍定位元素方法,以及定位元素具体操作。

  • 7.5案例:使用selenium爬取某聘任网站

    很多同学毕业找工作,在职人员换工作,离职人员找工作……不管什么人群,应聘求职,都需要先分析对应的招聘岗位,岗位需求是否和自己匹配,我们通常的方法都是,打开常见招聘网站,搜索职位关键字,然后一页一页的逐个查看。 网络爬虫开发可以帮助我们在数据的海洋里大浪淘金、精准定位,本节内容是讲解爬取某个城市的python岗位需求的案例,通过爬取准备、爬取数据并存储、数据清洗、数据分析4个完整流程,一起来数据的海洋里定位我们适合的岗位吧。案例仅作为教学参考,不得作为商业用途。

  • 项目八爬虫高阶-Scrapy框架

    Scrapy是适用于Python的一个快速、高层次的屏幕抓取和web抓取框架,用于抓取web站点并从页面中提取结构化的数据。Scrapy用途广泛,可以用于数据挖掘、监测和自动化测试。本章主要介绍Scrapy的安装与基本应用。

  • 8.1Scrapy爬虫框架概述

    本节主要介绍Scrapy框架的概念以及Scrapy的基本应用案例。

  • 8.2实践操作—Scrapy安装与使用

    本节主要介绍Scrapy框架的具体安装步骤。

  • 开始学习
  • 项目一  作业测试
    项目一 初识网络爬虫

    1.1 初识爬虫

    1.2 网络爬虫的基本原理和robots协议

    视频数2
  • 项目二  作业测试
    项目二 爬虫基础-python基础

    2.1 python概述

    2.2 python开发环境安装

    2.3 python基础语法

    2.4 python常用语句

    2.5 python正则表达式

    2.6 python基础数据结构:列表、元组、字典

    2.7 python函数的定义与调用

    视频数8
  • 项目三  作业测试
    项目三 爬虫基础-Web页面

    3.1 HTTP基础知识

    3.2 网页基础

    3.3 Cookies和Session

    3.4 谷歌浏览器开发者工具

    视频数7
  • 项目四  作业测试
    项目四 爬虫进阶-网页数据获取

    4.1 urlLib基本库

    4.2 urlLib基本库中的urlopen库函数

    4.3 requests库

    4.4 requests库中的更多操作方法

    4.5 requests库中get()方法进行二进制文件爬取操作

    4.6 使用requests库对错误和异常的处理

    视频数6
  • 项目五  作业测试
    项目五 爬虫进阶-网页数据解析

    5.1 数据解析概述

    5.2 Xpath概述

    5.3 lxml库解析节点谓语

    5.4 初识BS解析库

    5.5 BS解析库的节点选择器、方法选择器

    5.6 BS解析库的CSS选择器

    5.7 pyquery解析库

    5.8 爬取天气预报

    5.9 案例:爬取《觉醒年代》短评

    视频数9
  • 项目六  作业测试
    项目六 爬虫实战-网页数据存储

    6.1 文件的打开与关闭

    6.2 文件的读与写

    6.3 数据存储在文本文件中

    6.4 数据存储在关系型数据库中

    6.5 MongoDB数据库

    6.6 案例:爬取《觉醒年代》短评存入txt文件

    6.7 案例:爬取陕西热门景点数据攻略存储csv

    6.8 案例:爬取学生信息并保存在数据库

    视频数9
  • 项目七  作业测试
    项目七 爬虫高阶-动态网页爬取

    7.1 AJax数据爬取

    7.2 安装Selenium

    7.3 Selenium的基本操作

    7.4 动态渲染页面爬取Selenium的使用进阶

    7.5 案例:使用selenium爬取某聘任网站

    视频数7
  • 项目八  作业测试
    项目八 爬虫高阶-Scrapy框架

    8.1 Scrapy爬虫框架概述

    8.2 实践操作—Scrapy安装与使用

    视频数2
  • 期末考试