urllib2.urlopen打开下载链接

时间:2015-01-25 18:46:16

标签: python urllib2

我正在尝试使用此代码从网站下载数据

import urllib2

source = urllib2.urlopen("http://www.eia.gov/dnav/pet/hist/LeafHandler.ashx?n=PET&s=WRPUPUS2&f=W").read()
open("http://www.eia.gov/dnav/pet/hist/LeafHandler.ashx?n=PET&s=WRPUPUS2&f=W", "wb").write(source)

并继续收到以下错误,

IOError: [Errno 22] invalid mode ('w') or filename: 'http://www.eia.gov/dnav/pet/hist/LeafHandler.ashx?n=PET&s=WRPUPUS2&f=W'

我有点困惑。

1 个答案:

答案 0 :(得分:0)

Python认为/是目录,显然目录不存在,在unix上的文件名中使用/'s也无效。

您可以将/替换为.之类的其他字符,并且您的代码可以正常运行

with open("www.eia.gov.dnav.pet.hist.LeafHandler.ashx?n=PET&s=WRPUPUS2&f=W", "wb") as f:
    f.write(source)