目录
4.urllib.robotparser: robots.txt 解析模块
概述
基于爬虫的实现原理,进入爬虫的第一阶段:爬取网页数据,即下载包含目标数据的网页。爬取网页需要通过爬虫向服务器发送一个HTTP请求,然后接收服务器返回的响应内容中的整个网页源代码。
利用Python 完成这个过程,既可以使用内置的urllib库,也可以使用第三方库requests。使用这两个库,在爬取网页数据时,只需要关心请求的URL格式,要传递什么参数,要设置什么样的请求头,而不需要关心它们的底层是怎样实现的。
一.使用urllib爬取网页
urllib库是python内置的请求库,可以处理RL的组件集合。 爬取网页其实就是通过URL获取网页信息,这段网页信息的实质就是一段附加 了JavaScript 和CSS的HTML代码。如果把网页比作-一个人, 那么HTML就是他的骨架,JawaScript 是他的肌肉,CSS是他的衣服。由此看来,网页最重要的数据部分是存在于HTML中的。
1.urllib.request:请求模块
urllib.request
是一个 Python 标准库模块,用于发送 HTTP 请求。它提供了构建和发送 HTTP 请求的功能,以及处理响应的功能。该模块是 Python 中用于网络通信的重要组成部分,使开发人员能够轻松地发送 HTTP 请求并获取响应。
示例代码:首先导入了 urllib.request
模块,然后指定了要请求的 URL。接着,我们使用 urlopen()
函数发送 GET 请求,并将响应对象存储在 response
变量中。最后,我们读取响应内容并打印输出。
import urllib.request
url = "http://example.com"
response = urllib.request.urlopen(url)
data = response.read()
print(data)
2.urllib.error: 异常处理模块
urllib.error
是 Python 的标准库之一,用于处理与 urllib.request
相关的异常。
主要异常类:URLError、HTTPError、ContentTooShortError
示例代码:使用 urllib.error
异常处理模块来捕获和处理异常:
import urllib.request #: 导入模块,该模块用于发送HTTP请求。
import urllib.error # 导入模块,该模块包含处理HTTP错误时的异常