什么是urllib
?
urllib
是python内置的爬虫库,它包含4个模块:
request
: 基础的 HTTP 请求模块。error
: 异常处理模块。parse
: 用于解析 URL 的模块。robotparser
: 识别网站中 robots.txt 文件。
urlopen
的使用
urlopen()的原型:
urllib.request.urlopen(url, data=None, [timeout, ]*, cafile=None, capath=None, cadefault=False, context=None)
除了url
之外,其它参数都是默认的。
第一只爬虫
# 导入urllib的request模块
import urllib.request
#用urlopen得到网页的响应
response = urllib.request.urlopen('https://www.geekdigging.com/')
print(response.read().decode('utf-8'))
运行结果是打印了整个网页的源代码
response
是什么
#print the type of response
print(type(response))
由运行结果看出,它是一个HTTPResponse
类型的对象:
<class 'http.client.HTTPResponse'>
那么什么是HTTPResponse
对象?
HTTPResponse
是对 HTTP
响应的包装。它提供了对请求头和请求体的访问。这个响应是一个可以迭代的对象。
HTTPResponse
主要包含 read()
、 readline()
、 getheader(name)
、 getheaders()
、 fileno()
等方法,以及 msg
、 version
、 status
、 reason
、 debuglevel
、 closed
等属性。
version
可以获取HTTP协议版本号(10 for HTTP/1.0, 11 for HTTP/1.1)
>>> print(response.version)
11
status
获取响应码
>>> print(response.status)
200