2016-04-03 63 views
0

我正在編寫一個代碼來打開網頁並與之交互。我在pydev中使用機械化模塊。代碼到目前爲止,我已經寫了:爲什麼我在使用機械化時遇到HTTPerror

from bs4 import BeautifulSoup 
from mechanize import Browser 
from mechanize import HTTPError 
import re 

def main(): 
    movie='The Incredibles'; 
    movie_search='+'.join(movie.split()); 
    base_url= 'http://www.imdb.com/find?q='; 
    final_url=base_url+movie_search+'&s=all'; 
    br=Browser(); 
    br.open(final_url); 
    link=br.find_link(url_regex=re.compile(r'/title/tt.*')); 
    dest=br.follow_link(link); 
    print(link); 

if __name__=="__main__":main() 

當編譯我收到以下錯誤:

Traceback (most recent call last): 
    File "D:\python\foldersorter\src\search.py", line 7, in <module> 
    from mechanize import Browser 
    File "C:\Python34\lib\site-packages\mechanize\__init__.py", line 122, in <module> 
    from _mechanize import \ 
    File "C:\Python34\Lib\site-packages\mechanize\_mechanize.py", line 231 
    except urllib2.HTTPError, error: 
          ^
SyntaxError: invalid syntax 

到底是什麼語法錯誤,我無法找到答案。我在Python 3.4中工作。我在這裏做錯了什麼?

+1

的。正確的Python 3語法是'except ... as ...' - 請參閱[Python嘗試...除了逗號vs'as'除外](http://stackoverflow.com/questions/2535760/python-try-except -comma-vs-as-in-except) - 看起來像導入的庫是爲Python 2.x編寫的 – Aprillion

回答

0

我想你需要的Python 2運行機械化和您嘗試使用Python 3(文件「C:\ Python34 \ Lib文件...)運行它。

我希望有所幫助

+0

感謝您的幫助,我覺得這是它的原因,在Python 3.0中不支持Mechanize,MechanicalSoup在那裏支持3 .x,但它沒有很好的文檔記錄,並且不包含所有機械化模塊。你能推薦任何其他瀏覽器,例如機械化3。 x –

+0

您怎麼看「RoboBrowser」?它適用於Python 3.x,我認爲這可能是一個很好的選擇 – iblancasa

相關問題