[英]Download csv file with date using python
这是我需要下载的链接 。
我的问题是日期。 我的示例代码不接受这种URL。 你能帮我这个家伙吗? 谢谢!
import urllib2
url = "wesm.ph/chart/export/luzon_dmd_csv_export.php?date=201705&hour=24"
file_name = url.split('/')[-1]
u = urllib2.urlopen(url)
f = open(file_name, 'wb')
meta = u.info()
file_size = int(meta.getheaders("Content-Length")[0])
print "Downloading: %s Bytes: %s" % (file_name, file_size)
file_size_dl = 0
block_sz = 8192
while True:
buffer = u.read(block_sz)
if not buffer:
break
file_size_dl += len(buffer)
f.write(buffer)
status = r"%10d [%3.2f%%]" % (file_size_dl, file_size_dl * 100. / file_size)
status = status + chr(8)*(len(status)+1)
print status,
f.close()
您需要在上面的代码示例中进行两项更改。 在网址中添加“ http://”。 querystring应该以以下方式添加:
url = "http://wesm.ph/chart/export/luzon_dmd_csv_export.php"
queryargs = { 'date':'201705', 'hour':'24' }
data = urllib.urlencode(queryargs)
u = urllib.urlopen(url,data)
该代码应最终如下所示:
import urllib2
import urllib
url = "http://wesm.ph/chart/export/luzon_dmd_csv_export.php"
queryargs = { 'date':'201705', 'hour':'24' }
data = urllib.urlencode(queryargs)
file_name = url.split('/')[-1].split('.')[-1]+'.csv'
u = urllib.urlopen(url,data)
f = open(file_name, 'wb')
meta = u.info()
file_size = int(meta.getheaders("Content-Length")[0])
print "Downloading: %s Bytes: %s" % (file_name, file_size)
file_size_dl = 0
block_sz = 8192
while True:
buffer = u.read(block_sz)
if not buffer:
break
file_size_dl += len(buffer)
f.write(buffer)
status = r"%10d [%3.2f%%]" % (file_size_dl, file_size_dl * 100. / file_size)
status = status + chr(8)*(len(status)+1)
print status,
f.close()
import requests
r = requests.get('http://wesm.ph/chart/export/luzon_dmd_csv_export.php?date=20160115&hour=24', stream=True)
with open('filename.csv', 'wb') as fd:
for chunk in r.iter_content(chunk_size=128):
fd.write(chunk)
只是使用requests
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.