2013-07-23 39 views
0

有什麼辦法可以使用python機械化庫來處理xml。 我是用機械化.find_link()方法,它給了我下面的錯誤Python機械化BrowserStateError

>>> br.find_link(text="Help") 

Traceback (most recent call last): 
    File "<pyshell#11>", line 1, in <module> 
    br.find_link(text="Help") 
    File "C:\Python27\lib\site-packages\mechanize\_mechanize.py", line 618, in find_link 
    return self._filter_links(self._factory.links(), **kwds).next() 
    File "C:\Python27\lib\site-packages\mechanize\_mechanize.py", line 640, in _filter_links 
    raise BrowserStateError("not viewing HTML") 
BrowserStateError: not viewing HTML 
>>> 

其中br是機械化瀏覽器對象.. 從一個小小的研究,這是因爲頁面是不HTML。有沒有繞過這個。

回答

0

一個解決辦法是提取HTML部分從XML您解析它機械化之前

其他解決辦法是消除在實際mechanize library

+0

檢查是的,我必須這樣做,使用BeautifulSoup – user2332665

+0

而且做到了工作? – ton1c

+0

是的,'soup = BeautifulSoup(file.html,'xml')''mylink = soup.find('a','something')['href']' – user2332665