注册 登录
编程论坛 Python论坛

python2.7 爬虫中urllib.urlretrieve()下载文件路径问题

廉价的咖啡 发布于 2016-09-30 23:27, 14285 次点击
各位朋友你们好!在下是一名热爱python的小白,在爬虫中遇到了将图片指定存储文件夹所出现无法下载的问题。
源代码如下:
#coding=utf-8
import urllib
import re

def getHtml(url):
    page = urllib.urlopen(url)
    html = page.read()
    return html

def getImg(html):
    reg = r'src="(.+?\.jpg)" pic_ext'
    imgre = (reg)
    imglist = re.findall(imgre,html)
    x = 0
    for imgurl in imglist:
        urllib.urlretrieve(imgurl,'c:\\xixi.jpg',%x)
        x+=1

html = getHtml("http://tieba.baidu.com/p/2460150866")
print getImg(html)

这是一个简单的爬虫程序,在这里我使用了urllib.urlretrieve()函数对远程图片进行下载, 使用urllib.urlretrieve(imgurl,'%s.jpg' % x)时,能够成功将图片下载到桌面中,我想下载到c:\\xixi文件夹下,当我使用了urllib.urlretrieve(imgurl,'c:\\xixi.jpg',%x)时,却无法使用,出现的问题有invalid syntax或者是程序在python shell能够运行但在界面中出现三个'>>>'就不动了,再开文件及中,却没有任何东西。

求各位朋友能帮帮我,这个问题困扰了我几天了,拜托各位了

2 回复
#2
Valenciax2016-10-01 07:47
urllib.urlretrieve(imgurl,'c:\\xixi.jpg',%x)
改作
urllib.urlretrieve(imgurl,'c:\\'+ str(x)+'.jpg')
#3
廉价的咖啡2016-10-01 19:29
回复 2楼 Valenciax
谢谢你的帮助,经过多次的尝试,我发现python真的对大小写挺敏感的,之前的图片的爬虫,在保存地址上面,当写道 urllib.urlretrieve(imgurl,'C:\xixi\%s.jpg' % x)会出现错误,但是经过发现,系统对‘\’后面接小写字母比较敏感,当换成urllib.urlretrieve(imgurl,'C:\XIXI\%s.jpg' % x),小写换成大写就能够成功
1