爬蟲--文件的下載

server.pypython

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)

 

 客戶端web

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文件下載作詳細的說明flask

首先是服務器方面server.py服務器

 

from flask import *app

app=Flask(__name__)框架

@app.route('/')url

 

#上面三行屬於python web的flask框架debug

 

@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)

 

而後是客戶端方面code

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))
相關文章
相關標籤/搜索