Python网络爬虫程序技术
Python网络爬虫程序技术
7万+ 人选课
更新日期:2024/11/13
开课时间2024/08/26 - 2025/01/10
课程周期20 周
开课状态开课中
每周学时-
课程简介


1.什么是爬虫

爬虫,即网络爬虫,大家可以理解为在网络上爬行的一直蜘蛛,互联网就比作一张大网,而爬虫便是在这张网上爬来爬去的蜘蛛咯,如果它遇到资源,那么它就会抓取下来。想抓取什么?这个由你来控制它咯。比如它在抓取一个网页,在这个网中他发现了一条道路,其实就是指向网页的超链接,那么它就可以爬到另一张网上来获取数据。这样,整个连在一起的大网对这之蜘蛛来说触手可及,分分钟爬下来不是事儿。

网络爬虫就是一组能自动从网站的相关网页中自动搜索与提取数据的程序,提取与存储这些数据是进一步实现数据分析的关键与前提。Python语言程序简单高效,编写网络爬虫有特别的优势,尤其业界有专门为Python编写的各种各样的爬虫程序框架,使得爬虫程序的编写更加简单高效。

Python是一种面向对象的解释型计算机程序设计语言,该语言开源、免费、功能强大,而且语法简洁清晰,具有丰富和强大的库,是目前应用广泛的程序语言。

 

 

2.浏览网页的过程

在用户浏览网页的过程中,我们可能会看到许多好看的图片,比如 https://image.baidu.com/ ,我们会看到几张的图片以及百度搜索框,这个过程其实就是用户输入网址之后,经过DNS服务器,找到服务器主机,向服务器发出一个请求,服务器经过解析之后,发送给用户的浏览器 HTMLJSCSS 等文件,浏览器解析出来,用户便可以看到形形色色的图片了。

因此,用户看到的网页实质是由 HTML 代码构成的,爬虫爬来的便是这些内容,通过分析和过滤这些 HTML 代码,实现对图片、文字等资源的获取。

课程大纲

课程概要

课程概述

课程大纲

课程英文版

网络爬虫法律法规

项目1 爬取外汇网站数据(6学时)

项目教学目标

任务1.1 搭建爬虫程序开发环境

任务1.2 创建Flask Web网站

任务1.3 使用GET方法访问网站

任务1.4 使用POST方法向网站发送数据

任务1.5 从Web服务器下载文件

任务1.6 向Web服务器上传文件

任务1.7 使用正则表达式解析数据

实践项目1.8 爬取外汇网站数据

项目思政主题

练习一

测验1

项目2 爬取天气预报数据(8学时)

项目教学目标

任务2.1 认识 HTML文档结构与文档树

任务2.2 使用BeautifulSoup装载HTML文档

任务2.3 使用BeautifulSoup查找文档元素

任务2.4 使用BeautifulSoup遍历文档元素

任务2.5 使用BeautifulSoup的CSS语法查找元素

实践项目 2.6 爬取天气预报数据

练习二

项目思政主题

测验2

项目3 爬取旅游网站数据(14学时)

项目教学目标

任务3.1 爬取树状结构网站数据

任务3.2 爬取图状结构网站数据

任务3.3 使用多线程爬取网站图像

任务3.4 综合爬取复杂网站数据

实践项目3.5 爬取旅游网站数据

练习三

项目思政主题

测验3

项目4 爬取图书网站数据(14学时)

项目教学目标

任务4.1 认识scrapy爬虫程序框架

任务4.2 使用scrapy中查找HTML元素

任务4.3 使用scrapy爬取与存储数据

任务4.4 使用scrapy爬取复杂网站数据

实践项目4.5 爬取图书网站数据

练习四

项目思政主题

测验4

项目5 爬取商品网站数据(14学时)

项目教学目标

任务5.1 认识普通爬虫程序问题

任务5.2 使用Selenium编写爬虫程序

任务5.3 使用Selenium查找HTML元素

任务5.4 使用Selenium实现用户登录

任务5.5 使用Selenium爬取Ajax网页数据

任务5.6 使用Selenium等待HTML元素

任务5.7 爬取模拟商城网站数据

实践项目5.8 爬取京东商城网站数据

项目思政主题

项目6(拓展) numpy学生成绩分析

6.1 numpy简介

6.2 numpy特殊数组

6.3 numpy数组形状类型

6.4 numpy数组切片

6.5 numpy数组增加删除

6.6 numpy数组运算

6.7 numpy计算与存储

6.8 综合项目 学生成绩分析

项目7(拓展) pandas学生成绩分析

7.1 pandas简介

7.2 pandas series序列操作

7.3 pandas series计算操作

7.4 pandas Dataframe简介

7.5 pandas DataFrame行与列

7.6 pandas DataFrame行列操作

7.7 pandas DataFrame切片操作

7.8 pandas DataFrame数据操作

7.9 pandas DataFrame数据查询

7.10 pandas DataFrame数据运算

7.11 pandas DataFrame数据存储

7.12 综合项目 学生成绩分析

项目8(拓展) maplotlib学生成绩可视化

8.9 matplotlib subplots子图

8.1 matplotlib 简介

8.2 matplotlib 线图

8.3 matplotlib 饼图

8.4 matplotlib 散点图

8.5 matplotlib 柱状图

8.6 matplotlib 直方图

8.7 matplotlib DataFrame画图

8.8 matplotlib subplot子图

8.10 matplotlib XY轴

8.11 综合项目 学生成绩可视化

项目9(拓展) pyecharts学生成绩可视化

9.1 折线图基本画法

9.2 折线图标签设置

9.3 折线图特性设置

9.4 散点图基本画法

9.5 散点图特性设置

9.6 柱状图基本画法

9.7 柱状图特性设置

9.8 饼图基本画法

9.9 饼图特性设置

9.10 坐标轴特性设置

9.11 Tooltip设置

9.12 全局特性设置

9.13 组合多个图像

9.14 综合项目 学生成绩可视化A

9.15 综合项目 学生成绩可视化B

练习

课程英文版Python Crawler Programming Technology

1.1 Developing Python Web Spider Application

1.2 Developing and Requesting Website

1.3 Requesting Website by Get and Post Methods

1.4 Regular Expression

1.5 Training Project Download Images

2.1 BeautifulSoup and HTML

2.2 BeautifulSoup Searching HTML Element

2.3 BeautifulSoup Adavnce Searching

2.4 Training Project Getting Quotes

2.5 Training Project Getting and Storing Quotes

3.1 Requsting Web Server Recursively

3.2 Program of Multiple Threads

3.3 Downloading Images in Multiple Threads

3.4 Training Project Getting Travel Information

3.5 Training Project Getting and Storing Travel Information

4.1 BeautifulSoup Problem

4.2 Selenium Solution

4.3 Training Project Downloading Top News

课程技术讲座

1. 爬虫程序与编码

2. 爬虫程序与效率

附录A (综合)数据爬取综合项目实践

1、爬取招行外汇牌价数据

2、爬取旅游景区网站数据

3、爬取豆瓣电影网站数据

4、爬取人民网的综合报道

5、爬取中国大学MOOC课程数据

6、爬取58同城网站招聘信息.

7、爬取链家网站房屋信息

8、爬取美团网站酒店数据

(*)线下综合练习项目

9、爬取Chindaliy网站的旅游数据与图像

10. 航班数据爬取宇分析

附录B (课程)Python Web程序开发技术(Flask)

06 Flask Templates B

07 Flask Templates C

08 Flask Form Elements

09 Flask Redirect

10 Flask URL Parameters

11 Flask Register and Login

12 Flask Cookies

13 Flask File Download and Upload

14 Flask Database Operations

15 Flask Training Project

16 WTF StringField PasswordField

17 WTF IntegerField FloatField

18 WTF RadioField

19 WTF BooleanField

20 WTF SelectField

21 WTF TextAreaField

22 WTF DateField TimeField

01 Flask Web Page

02 Flask GET

03 Flask POST

04 Flask Static Page

05 Flask Templates A

附录C (课程)Python Web程序开发技术(Django)

1.1 Django Web开发环境

1.2 第一个Web Server

1.3 创建静态网页

1.4 网页路由机制

1.5 接收GET数据

1.6 接收POST数据

1.7 网页 综合实训

2.1 模版 模版参数

2.2 模版 列表参数

2.3 模版 条件参数

2.4 模版 表单元素

2.5 模版 综合实训

3.1 表单 text password

3.2 表单 radio

3.3 表单 checkbox

3.4 表单 select

3.5 表单 textarea

3.6 表单 数据验证

3.7 表单 综合实训

4.1 模块 显示数据

4.2 模块 操作数据

4.3 模块 管理数据

4.4 模块 综合实训

5.1 Session 用户登录

5.2 Cookie 用户登录

5.3 admin 网页数据

5.4 网站 综合实训