首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用MechanicalSoup将文本文件上载到站点进行分析

使用MechanicalSoup将文本文件上载到站点进行分析
EN

Stack Overflow用户
提问于 2015-11-28 09:45:40
回答 1查看 467关注 0票数 3

我正在尝试获取一个文本文件到TreeTagger Online,以便对其进行分析,并获得指向结果文件的链接以供下载。

代码语言:javascript
复制
import mechanicalsoup  
browser = mechanicalsoup.Browser()
homePage = browser.get("http://cental.fltr.ucl.ac.be/treetagger/")
formPart = homePage.soup.select("form[name=treetagger_form]")[0]
formPart.select("[name=file_to_tag]")[0]["name"]=open('test.txt', 'rb')
result = browser.post(formPart, homePage.url)

这给了我以下错误:

::( UnicodeEncodeError('ascii',u‘not连接适配器用于\’\n \n文本\xe0 \xe9 xe9tiqueter:\n\n‘,216,217,’序数不在(128)‘)

我应该如何继续在网站上获取我的文件(使用MechanicalSoup或其他模块)?

01/04/19编辑

尽管我没有得到@Rolando在我的机器上工作的答案,但我还是能够从他的建议中完成这件事。

代码语言:javascript
复制
import mechanicalsoup  
browser = mechanicalsoup.Browser()
homePage = browser.get("http://cental.fltr.ucl.ac.be/treetagger/")
formPart = homePage.soup.select("form[name=treetagger_form]")[0]
form=mechanicalsoup.Form(formPart)
form.set('file_to_tag', 'test.txt')
upload=browser.submit(form,url="http://cental.fltr.ucl.ac.be/treetagger/")

谢谢@Rolando Urquiza

EN

回答 1

Stack Overflow用户

发布于 2019-03-11 15:14:38

根据MechanicalSoup的文档,您可以使用set函数在mechanicalsoup.Form实例上上传文件,参见这里。例如,您可以这样使用它:

代码语言:javascript
复制
import mechanicalsoup  
browser = mechanicalsoup.StatefulBrowser()
browser.get("http://cental.fltr.ucl.ac.be/treetagger/")
form = browser.select_form()
form.set('file_to_tag', 'test.txt')
result = browser.submit_selected()
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33969909

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档