• 爬虫文件的下载


    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))
    一纸高中万里风,寒窗读破华堂空。 莫道长安花看尽,由来枝叶几相同?
  • 相关阅读:
    浏览器不兼容原因及解决办法
    VC++ MFC DLL动态链接库编写详解
    Saas是什么?
    用CSS中的Alpha实现渐变
    一种真正意义上的Session劫持[转]
    使用.NET Framework中新的日期时间类型[转]
    Hook、钩子、VC++ 基本概念
    H264
    Windows编程中各种操作文件的方法
    将TCP/IP协议移植到内嵌的弹片机中配合GPRS无线模块开发应用
  • 原文地址:https://www.cnblogs.com/byczyz/p/11116841.html
Copyright © 2020-2023  润新知