request模块--urlopen函数、urlretrieve函数
一.urlopen函数
1.说明
创建一个表示远程url的类文件对象,然后操作这个类文件对象来获取远程数据
2.注意点
1.url:是请求的url
2.data:请求如果加上data值,就会将get请求变为post请求
3.返回值:返回值是一个http.client.HTTPResponse对象,这个对象是类文件句柄对象,有 读取字节:read(size) 、读取行(第一行):readline() 、读取多行(一行一行读取):readlines() 、状态编码:getcode
3.示例
#urlopen 函数
from urllib import request #从urllib库中导出request模块
url = request.urlopen("http://www.youdao.com/") #使用request模块中的urlopen函数,对网站发出请求,再将返回值赋予给变量url
print(url.read()) #将url返回值进行读取,并输出
urlretrieve函数
1.说明
这个函数可以方便地将网页上的文件或图片等保存到本地
示例
1.保存网址首页方法
#urlretrieve 函数
from urllib import request
url = request.urlretrieve("http://www.youdao.com","youdao.html")
#使用request模块中的urlretrieve函数,将有道的网站首页保存到桌面(文件名:youdao.html)
2.保存网站上的图片
(1)找到图片的网址
我用的是chrome浏览器,右击–点击“查看”(或者,按F12键)
,就会弹出检查栏
复制–双击网址就可以复制了
(2)代码块
#保存网站上的美女图片
from urllib import request
url = request.urlretrieve('https://desk-fd.zol-img.com.cn/t_s208x130c5/g2/M00/0B/07/ChMlWl6hJEWIDLoTAAnaSMRzq84AAOjAgHwIuEACdpg752.jpg','image.jpg')
#保存的文件必须带后缀名,否则会出错(保存的文件不是图片);源文件和目标文件后缀名也必须一致
(3)当一行代码很长时,解决办法
使用这个方法可以缩进代码
缩进后的效果
(4)效果
感觉有点小哈,网址上一般会显示图片的大
这个下载下来,图片就大了(方法都一样)