1.初次接触urllib库
urllib库是python中用于操作url,爬虫中经常用到的库。pyhon3.x之后合并成urllib库
,使用的方法有改变。urllib中包括了四个模块urllib.request,urllib.error,urllib.parse,urllib.robotparser。
urllib.request可以用来发送request和获取request的结果
urllib.error包含了urllib.request产生的异常
urllib.parse用来解析和处理URL
urllib.robotparse用来解析页面的robots.txt文件
2.使用python的urllib爬取网页
步骤1. 首先需要导入urllib库的request
import urllib.request //导入模块
步骤2.然后使用urllib.request.urlopen爬取一个网页
urllib.request.urlopen(
url,
data=None, [
timeout, ]
*,
cafile=None,
capath=None,
cadefault=False,
context=None)有时候由于url标准,我们要通过编码来解决
urllib.request.quote(url) //编码
urllib.request.unquote() //解码
它返回一个
HTTPResponse 类型的对象,这个对象比较常用的方法如下:
步骤3.接下来通过
HTTPResponse的方法获取网页的内容
- *.read()读取文件的全部内容,返回的是一个字符串变量
- *.readlines()读取文件的全内容,readlines()方法获得的是一个列表变量,这个方法通常比较常用
- *.readline()读取的是文件的一行内容
那么如何将获取的网页保存到本地呢?
可以通过以下两种方法
- 以写入的方式打开一个本地文件,命名为*.html,然后将得到的变量写入如
fwrite=open("路径","wb“)
fwrite.write(data)
- 使用urllib.request.urlretrieve(url,filename=本地文件地址),这个方法会产生缓存,可以用urllib.request.urlcleanup()