爬虫--文件的下载

server.py

from flask import *
app=Flask(__name__)
@app.route('/')
def index():
    if  not "fileName" in request.values:
        s="图像.jpg"
        return s
    else:
        fileName=request.values.get("fileName")
        f=open(fileName,"rb")
        data=f.read()
        f.close()
        return data


if __name__=='__main__':
    app.run(port=5000,debug=True)

 

 客户端

import urllib.request
import urllib.parse
url="http://127.0.0.1:5000"
resp=urllib.request.urlopen(url)
data=resp.read()
fileName=data.decode()

resp=urllib.request.urlopen(url+"?fileName="+urllib.parse.quote(fileName))
data=resp.read()
f=open("download"+fileName,"wb")
f.write(data)
f.close()
print(fileName,len(data))

  

 

下面对web文件下载做详细的说明

首先是服务器方面server.py

 

from flask import *

app=Flask(__name__)

@app.route('/')

 

#上面三行属于python web的flask框架

 

@app.route('/')
def index():
如果fileName不在resquest.values中
if not "fileName" in request.values:
s="图像.jpg"
return s
相当于初始化的默认设置

如果存在的话如下方式处理
else:
fileName=request.values.get("fileName")
f=open(fileName,"rb")通过二进制的方式打开文件
data=f.read()读取文件
f.close()关闭文件
return data返回读取的文件


if __name__=='__main__':
app.run(port=5000,debug=True)

 

然后是客户端方面

import urllib.request
import urllib.parse
导入相关的包
url="http://127.0.0.1:5000" resp=urllib.request.urlopen(url) data=resp.read() fileName=data.decode()此时获得服务器上的默认文件 resp=urllib.request.urlopen(url+"?fileName="+urllib.parse.quote(fileName)) data=resp.read() f=open("download"+fileName,"wb") f.write(data) f.close() print(fileName,len(data))

 

posted @ 2019-07-01 21:31  薄眠抛却陈年事。  阅读(485)  评论(0编辑  收藏  举报