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'
1
id = "__mceDel" >f = open ( = "color: #800000;" > 's.jpg' < / span>, = "color: #800000;" > 'wb' < / span>)#这里 open 的两个参数,前者同样是路径,后者是文件的打开模式,这里选择 'wb' 代表以二进制的格式写入
<
/ span> id = "__mceDel" >imgdata < / span> = requests.get(imgurl).content#这里需要获取图片的二进制源码< / span>< / em>< / em>
f.write(imgdata)#写入二进制源码到文件
f.close()#关闭文件,如果没有这一步,则文件不能成功保存到本地。

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

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

1
2
3
4
5
6
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)

你可能感兴趣的:(Python爬虫)