python网络数据采集-如何实现文件上传

     虽然文件上传在网络上很普遍,但是对于数据采集其实不太常用。但是,如果你想为自己的网站的文件上传功能编写一个测试案例,也是可以实现的。不管怎么说,掌握工作原理总是有用的。

     在http://pythonscraping/files/form2.html有一个文件上传表单,页面上表单的源代码如下所示:

<form action="processing2.php" method="post" enctype="multipart/form-data">
   Submit a gif,png,or jpg:<input type="file" name=="image"><br/>
   <input type="submit" value="Upload File">
</form>
    文件上传表单除了<input>标签里有一个type属性时file,看起来和之前看到的文本字段的表单没有什么两样。其实,Python Requests库对这种表单的处理方式也和之前的非常相似:

import requests
files={'uploadFile':open('../files/Python-logo.png','rb')}
r=request.post("http://pythonscraping.com/pages/processing2.php",files=files)
print(r.text)
   需要注意,这里交给表单字段uploadFile的值不是一个简单的字符串了,而是一个用open函数打开的Python文件对象。在这个例子中,我提交了一个保存在我电脑上的图像文件,文件路径是相对这个Python程序所在位置的../files/Python-logo.png。




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章