2016-11-22 87 views
0

Python的机械化给出嵌套形式的错误此代码:ParseError:嵌套形式

url = 'http://bis.zju.edu.cn/psi/' 
browse = mechanize.Browser() 
browse.set_handle_robots(False) 
browse.open(url) 

# print [n for n in browse.forms()] 
# ParseError: nested FORMs 

browse.select_form(name="form1") # or (nr=0) 
# ParseError: nested FORMs 

seq = '>seq1' + '\n' + 'MNANSSAKLGDSA' 
browse['sequence'] = seq 
response = browse.submit() 

无论这解决了:

browse = mechanize.Browser(factory=mechanize.RobustFactory()) 
browse.set_handle_robots(False) 
browse.open(url) 

print [n for n in browse.forms()] 
# [] # empty list 

browse.select_form(name="form1") # or (nr=0) 
# FormNotFoundError: no form matching name 'form1' 

这也不:

browse = mechanize.Browser() 
browse.set_handle_robots(False) 
response = browse.open(url) 
# 'modify response' (anyway? to remove erroneous html?) 
browse.set_response(response) 

print [n for n in browse.forms()] 
# [] # empty list 

browse.select_form(name="form1") # or (nr=0) 
# FormNotFoundError: no form matching name 'form1' 

我已经在python/mechanize在stackoverflow /其他论坛上搜索net的Q/A嵌套窗体错误。无解决方案。

任何(快速)帮助表示赞赏。谢谢。

回答

0

看看this question,可能试着使用BeautifulSoup来解析网站,而不是自行机械化,BS更强大一点。

+0

谢谢@Nee。看着http://stackoverflow.com/questions/7135964/submitting-nested-form-with-python-mechanize。用BS解析并不能解决嵌套的FORMs问题http://stackoverflow.com/questions/14204372/mechanize-and-beautiful-soup-python/40759022#40759022呢。试 ... – Rao