没有合适的资源?快使用搜索试试~ 我知道了~
第3章 Web页面爬取1 课前引导本节课我们将介绍使用python开发网络爬虫的基本方法,尝试获取web页面信息。2 上节回顾上节课介绍了:网络爬取的入口网页下
资源详情
资源评论
资源推荐
网络
爬
虫
与
数
据
采
集
课
程
第
3
章
Web
页
面
爬
取
1
课
前
引
导
本节课我们将介绍使用python开发网络爬虫的基本方法,尝试获取web页面信息。
2
上
节
回
顾
上节课介绍了:
网络爬取的入口
网页下载的原理
内容解析的对象
存储数据的仓库
3
本
节
课
程
主
要
内
容
内容列表:
本节目标
爬取Web页面的基本过程;
使用Urllib实现基本Web页面爬取;
使用Requests优化页面爬取过程;
本节总结
课后练习
3.1
本
节
目
标
本节课的主要目标:
使学生理解web页面爬取的基本过程
使学生能够运用python urllib库设计自己的简单web页面爬取程序;
使学生能够应用requests库,设计可用性良好的web页面爬取程序。
重点:
理解web页面爬取的基本过程
掌握urllib的基本用法,构建简单爬虫程序
掌握requests的基本用法,对简单爬虫程序进行优化
3.2
爬
取
Web
页
面
的
基
本
过
程
我们先介绍使用网络爬虫爬取web页面的基本过程。
3.2.1
知
识讲
解
第一步,需要人工确定待爬取的目标网页的URL,并将这个URL放入待爬取队列。
第二步,网络爬虫程序要能够像浏览器一样,根据输入的URL向远程服务器发出HTTP请求,尝试
获得响应内容,通常是目标数据所在的HTML文档。
第三步,网络爬虫程序要能够解析已下载HTML文档内容。这里的解析指的是检索HTML文档,提
取出目标数据的过程。除了目标数据,可能还需要获得新的URL,为后续爬取提供种子。
第四步,网络爬虫程序需要将提取出的数据,按照用户所需的格式存储下来,通常会使用某种格式
的文件或数据库来存储数据,将需要的图片或视频资源下载到特定的文件夹中,而爬得的新URL将
放入待爬取队列中;
第五步,网络爬虫程序将按上述步骤,逐一处理待爬取队列中的URL,直到队列为空。
以上步骤,就是使用网络爬虫程序爬取Web页面的基本过程。在思路上,它并不复杂,那么我们能不能
将之付诸实践呢?
3.2.2
案
例
与
应
用
暂无
3.2.3
模
块
练
习与
答
案
见习题集
3.2.4
内
容
小
结
本小节主要介绍了Web页面爬取的5个步骤。这几点需要学生牢记。
3.3
使
用
Urllib
实
现
基
本
Web
页
面
爬
取
3.3.1
知
识讲
解
工欲利其事,必先利其器。换句话说,我们需要先搭建开发网络爬虫程序的编程环境。
我们建议大家选用Anaconda集成开发工具。
Anaconda是一个开源的Python发行版本,其包含了conda、Python等180多个科学包及其依赖项。对于
学习数据科学的同学,这是非常好的一个集成工具。对于开发网络爬虫而言,我们将借助它的交互式编
程环境,以及多种支持库,来构建我们的程序。
Anaconda3的安装过程较为简单,下面就以Windows系统中的安装过程为例,介绍一下安装Anaconda
的过程和启动Jupyter notebook编辑器的方法。
1.请从Anaconda官方网站或清华大学开源软件镜像站下载支持Python3 的Anaconda安装包并启动
安装过程。Windows下适用的Anaconda安装包是一个exe可执行程序,双击它启动安装过程;
2.在阅读产品的License文档并点击“I Agree”后,选择为“Just Me”或是“All users”安装该程序,然后
选择存放Anaconda的本地路径,我们建议初学者使用默认路径。如果要设置自定义路径,请不要
使用有空格和非unicode字符的路径,否则会出现错误。
3.选择将Anaconda增加到本地PATH路径,并选择将Anaconda作为您的默认python编译器。
4.点击“Finish”完成安装,之后您可以在Windows“启动”的程序列表中查看到Anaconda的启动快捷
方式,为了验证安装是否成功,您可以点击运行“Anaconda navigator”,查看是否有弹出一个
Anaconda 的导航界面。
经过上述4步,Anaconda就安装好了,但如果你在安装中出现了异常错误,可以在互联网上搜索解答信
息。
安装好Anaconda后,我们需要启动交互式的Python开发环境。我们选择目前十分流行的Jupyter
notebook作为我们的交互式开发环境。
启动方法很简单,在“Anaconda navigator”界面中就有启动Jupyter notebook的按钮,点击之后就可以启
动了。此外,在Windows的程序列表中还有单独的“Jupyter notebook”启动项,点击后也可启动它。启
动后的Jupyter notebook,通常会使用默认的浏览器打开一个页面,这个页面的URL是
http://localhost:8888/tree,
为了讨论方便,同学们可以在Windows当前用户目录中的“我的文档”中新建一个名
为“MyWebCrawlers”的新文件夹,用来存放我们将要编写的爬虫程序。通过Jupyter notebook打开页面
的“new”按钮也可以实现这一点。
上述准备工作完成之后,下面我们就开始来编写自己的第一个网络爬虫程序吧?
首先让我们在Jupyter notebook打开的浏览器页面上,进入刚才建立的“MyWebCrawlers”文件夹,然
后,点击右上方的“new”按钮,生成一个“Python3”文档。这个文档将是我们编写程序的主要场所。
我们编写Python网络爬虫时,需要借助一些支持库来简化我们的编写过程,例如使用Python3内置的
Urllib库就是一个不错的选择。Urllib库中包含了4个处理URL的模块,分别是:
Urllib.request,它用于打开和读取URL。
在Urllib.request模块中定义了一些打开url的方法和类,除了可以帮助我们获取web页面,还可
以帮助我们处理简单或摘要类型的页面认证,页面重定向、以及cookies等访问web页面时的常
见问题。
urllib.error ,它包含了request模块可能引发的异常;
urllib.parse ,它用于解析URL
urllib.robotparser 用于解析 robots.txt 文件。
这些模块的使用细节,我们将在接下来的课程中依次讲解。
下面,我们将使用urllib完成以下几个任务:
1. 访问指定的URL,获取响应结果;
2. 使设置HTTP请求头参数,使网络爬虫更像浏览器行为;
3. 使用GET或POST方法,向服务器传递参数;
4. 学会处理常见异常
要想访问指定的URL,通常会使用urllib.request中的urlopen函数。
使用urllib首先要引入urllib库。
import urllib
help(urllib)
Help on package urllib:
NAME
urllib
PACKAGE CONTENTS
error
parse
request
response
robotparser
FILE
d:\pythonspace\anaconda3\lib\urllib\__init__.py
在我们了解了urllib中的包选项(即子模块)后,就使用更为精确的引入方式。
import urllib.error
import urllib.parse
import urllib.request
import urllib.robotparser
import urllib.response
这其中我们将频繁使用的request包,使用help方法,可以查看其基本信息。
可以从中看出,urllib.request的主要功能是使用各种网络协议(例如http)打开url。它也是使用urlopen
获取某个网页最简单的方式。
在帮助中,还提供了一个例子。但这个例子优点复杂,我们稍后再进行介绍。
剩余37页未读,继续阅读
学习呀三木
- 粉丝: 23
- 资源: 303
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- K-means算法的数据集
- protoc-gen-go
- 编程项目实战:基于BS架构和asp.net技术的图书销售管理系统的设计与实现(源代码+论文)
- 研究生数学建模比赛-航班登机口分配全套代码源码
- PHP学习资料,学习示例源码.rar
- 基于Java+Mysql的 SSM+Maven 超市进销存管理系统课程设计
- 毕设项目:基于BS的图书销售管理系统的设计与实现(asp.net+源代码+论文)
- 基于C语言写的潮流计算大作业(95分以上)
- mysql的运用,增删改查以及索引等
- 一个基本的Shell脚本示例,用于监控内存使用情况,并在内存占用超过80%时发送警告 重启应用的部分需要你根据实际情况进行调整:
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0