2011-06-06 30 views
0

我已经完成了我的第一个Python脚本,也是我的第一个机械化浏览器,非常好。但是...python mechanize.Browser返回

它返回一些字段为'空字符串',在这种情况下为:“& \ nbsp;” (back-slashe是我的,否则什么也没有出现。)

有没有人经历过与mechanize.Browser之前?

这里是我的代码:

#!/usr/bin/env python 

import mechanize 
import cookielib 
# Browser 
br = mechanize.Browser() 
# Cookie Jar 
cj = cookielib.LWPCookieJar() 
br.set_cookiejar(cj) 
# Browser options 
br.set_handle_equiv(True) 
br.set_handle_gzip(True) 
br.set_handle_redirect(True) 
br.set_handle_referer(True) 
br.set_handle_robots(False) 
# Follows refresh 0 but not hangs on refresh > 0 
br.set_handle_refresh(mechanize._http.HTTPRefreshProcessor(), max_time=1) 
# Want debugging messages? 
#br.set_debug_http(True) 
#br.set_debug_redirects(True) 
#br.set_debug_responses(True) 
# User-Agent (this is cheating, ok?) 
br.addheaders = [('User-agent', 'Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.1) Gecko/2008071615 Fedora/3.0.1-1.fc9 Firefox/3.0.1')] 
r = br.open('https://192.168.2.141/webacs/welcomeAction.do') 
br.select_form(nr=0) 
br.form['username']='root' 
br.form['password']='bla bla bla' 
submit = br.submit() 
import time 
# just in case is about rendering time, which is not. 
time.sleep(10) 
wcs_web = br.response().read() 
file = open("wcs_web.html",'w') 
file.write(wcs_web) 
file.close() 

而且在文件I wcs_web.html找到这个:

<tr> 
    <th class="navAlarm" width="92">Malicious AP</th> 
    <td id="rogueCritical" class="navAlarmNothing" align="right" width="23">&nbsp;</td> 
    <td id="rogueMajor" class="navAlarmNothing" align="right" width="23">&nbsp;</td> 
    <td id="rogueMinor" class="navAlarmNothing" align="right" width="23">&nbsp;</td> 
    </tr> 

如果它给了我 '& \ NBSP;'(再次,反斜杠是我或没有出现)应该是'0'。

任何人都知道这是为什么?以及如何修复它?

+0

你说,在输出这个 0 通过该   – cerberos 2011-06-07 05:10:00

+0

是的。这就对了。 – permalac 2011-06-07 07:27:07

+0

你确定吗?这听起来很奇怪,不知道为什么会发生。 – cerberos 2011-06-07 14:29:23

回答

0

JavaScript能否负责将& \ n \ n变成0?机械化不执行JavaScript。