为什么要学两个模块?学爬虫只学一个可以吗?
urllib模块是python的一个内置爬虫模块,在使用爬虫的过程中,有部分爬虫项目需要使用urllib,有的项目需要urllib与requests模块配合使用完成(如使用requests模块作为请求模块,将urllib模块用来储存数据。urllib模块存储数据比较方便。)
以requests模块为例
import requests
url = "http://qqpublic.qpic.cn/qq_public/0/0-1172624408-A282236B5E41B7986843F254E36C26C2/0?fmt=jpg&size=58&h=569&w=900&ppv=1.jpg"
# 设置目标图片链接的url
req = requests.get(url) # 发请求,得到请求对象
fn = open('tu1.png', 'wb') # 创建一个文件,w可写,是覆盖写入,会清除原有的内容。如果文件不存在则会创建一个文件。wb表示覆盖写入二进制文件
fn.write(req.content) # 将读取到的图片内容写入
fn.close()
以urllib模块为例
使用urllib模块中的request库的urlretrieve方法储存,明显代码更简洁。
from urllib import request
url = "http://qqpublic.qpic.cn/qq_public/0/0-1172624408-A282236B5E41B7986843F254E36C26C2/0?fmt=jpg&size=58&h=569&w=900&ppv=1.jpg"
request.urlretrieve(url, 'tu2.png') # 直接将获取到的请求对象的content(内容)写入一个文件中并创建出来。