python3爬虫初探,四之文件保存

  接着上面的写,抓取到网址之后,我们要把图片保存到本地,这里有几种方法都是可以的。

  #-----urllib.request.urlretrieve-----

  

import urllib.request

imgurl = 'http://img.ivsky.com/img/tupian/t/201411/01/xiaohuangren_tupian-007.jpg'#前面获取网址中的一个。
urllib.request.urlretrieve(imgurl, 'F:\\Techonolgoy\\Python\\file\\s.jpg')
#这里urlretrieve有两个参数,第一个是图片网址;第二个是文件路径,注意'是\\'。如果不指定路径(s.jpg)即默认保存在当前文件夹下(.py所在文件夹)

  #------open.write------

import requests
imgurl = 'http://img.ivsky.com/img/tupian/t/201411/01/xiaohuangren_tupian-007.jpg'
imgdata = requests.get(imgurl).content#这里需要获取图片的二进制源码
f.write(imgdata)#写入二进制源码到文件
f.close()#关闭文件,如果没有这一步,则文件不能成功保存到本地。

  #------with open-------------

  相比open来说,with有一个优点就是不用close(),其写入后自动关闭。

import requests

imgurl = 'http://img.ivsky.com/img/tupian/t/201411/01/xiaohuangren_tupian-007.jpg'
imgdata = requests.get(imgurl).content
with open('s.jpg', 'wb') as f:
        f.write(imgdata)