【问题标题】:Why am I getting the HTTPerror while using mechanize [duplicate]为什么我在使用 mechanize 时收到 HTTPerror [重复]
【发布时间】:2016-07-23 03:54:49
【问题描述】:

我正在编写一个代码来打开一个网页并与之交互。我在 pydev 中使用 mechanize 模块。到目前为止我写的代码:

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。我在这里做错了吗?

【问题讨论】:

标签: python html mechanize


【解决方案1】:

我认为您需要 Python 2 来运行 mechanize 并且您正尝试使用 Python 3 运行它(文件“C:\Python34\Lib...)。

希望对你有所帮助。

【讨论】:

  • 感谢您的帮助。我觉得是这个原因。 python 3.0 不支持机械化。 MechanicalSoup 适用于 3.x,但它没有很好的文档记录,并且不包含 mechanize 的所有模块。你能推荐任何其他浏览器,比如 mechanize for 3.x
  • 你觉得“RoboBrowser”怎么样?它适用于 Python 3.x,我认为可能是一个不错的选择
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-08-10
  • 2015-08-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-11-08
  • 2020-05-01
相关资源
最近更新 更多