题目👇
使用urllib模块实现网页内容读取,读取指定URL的网页内容
知识补充👇
在Python3版本内置模块中提供了urllib模块,实质上是一个HTTP请求库,可以提供一些爬虫的基础操作,主要包含urllib.request、 urllib.response、urllib.parse三部分。
urllib库子模块 urllib.request 请求模块(常用) urllib.error 异常处理模块(常用) urllib.parse url解析模块(常用) urllib.robotparser 解析robots.txt协议(每个网页本地都会有robots.txt协议,这里规定了本网页哪些内容可以爬取,哪些内容不可以爬取,是一个纯纯的“君子协定”,不让爬不代表不能爬) 另外,因为操作上比较繁琐,urllib库在实际爬虫应用并不多,相比之下request库的应用更为普遍。
思路分析👇
按照本题的要求,我们只需要爬取网页源码,需要用到urllib库里的requset.urlopen()创建请求对象,成功后就可以用read()方法来读取网页源代码,将其解码并打印出来即可,最后用close()关闭连接,完成操作。
代码示例👇
#coding:utf-8
#author:Mitchell
#task:网页内容读取,读取指定URL的网页内容
#加载urllib的请求库
import urllib.request
#用urlopen()创建urllib连接对象
fp = urllib.request.urlopen(r'http://')
#read()可以读取网页超文本源代码,也就是HTML代码
#参数为指定读取内容大小,无参数默认全部文本
#需要解码,否则会直接返回十六进制编码字符串
print(fp.read().decode())
#关闭连接对象
fp.close()