我正在尝试获取一个文本文件到TreeTagger Online,以便对其进行分析,并获得指向结果文件的链接以供下载。
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在我的机器上工作的答案,但我还是能够从他的建议中完成这件事。
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
发布于 2019-03-11 15:14:38
根据MechanicalSoup的文档,您可以使用set函数在mechanicalsoup.Form实例上上传文件,参见这里。例如,您可以这样使用它:
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()https://stackoverflow.com/questions/33969909
复制相似问题