草庐IT

mechanical

全部标签

python - 在 Python 中使用 Mechanize 获取和捕获 HTTP 响应

我正在尝试使用python从Mechanize获取响应代码。虽然我能够获得200状态代码,但不会返回任何其他内容(404抛出和异常以及30x被忽略)。有没有办法获取原始状态码?谢谢 最佳答案 错误会抛出异常,所以只需使用try:...except:...来处理它们。您的Mechanize浏览器对象有一个方法set_handle_redirect()可以用来打开或关闭30x重定向。关闭它,你会得到一个重定向错误,就像你处理任何其他错误一样:>>>frommechanizeimportBrowser>>>browser=Browser(

python - 强制 python mechanize/urllib2 只使用 A 请求?

这是一个相关问题,但我不知道如何将答案应用于mechanize/urllib2:howtoforcepythonhttpliblibrarytouseonlyArequests基本上,给出这个简单的代码:#!/usr/bin/pythonimporturllib2printurllib2.urlopen('http://python.org/').read(100)这导致wireshark说出以下内容:0.00000010.102.0.79->8.8.8.8DNSStandardqueryApython.org0.00002310.102.0.79->8.8.8.8DNSStandar

python - 从 Mechanize 中的 HTTPError 中恢复

我正在为一些现有的python代码编写一个函数,该函数将作为参数传递给Mechanize浏览器对象。我在浏览器的表单中填写一些详细信息,然后使用response=browser.submit()将浏览器移动到一个新页面,并从中收集一些信息。不幸的是,我偶尔会遇到以下错误:httperror_seek_wrapper:HTTP错误500:内部服务器错误我在自己的浏览器中导航到该页面,果然,我偶尔会直接看到这个错误,所以我认为这是服务器问题,与robots.txt无关、标题或类似内容。问题是提交后,browser对象的状态发生变化,无法继续使用。我的第一个想法是先尝试进行深拷贝,如果遇到问

python - Mechanize python 单击一个按钮

我有一个表格按钮并希望能够单击它。我试过了mech.form.click("submit")但这会出现以下错误:ControlNotFoundError:nocontrolmatchingkind'clickable',id'submit'mech.submit()也不起作用,因为它的类型是按钮而不是提交。有什么想法吗?谢谢。 最佳答案 在纯html表单中单击type="button"不会执行任何操作。要让它执行任何操作,必须有javascript参与。mechanize不运行javascript。所以你的选择是:自己阅读javas

python - 使用Python和Mechanize提交表单数据并进行身份验证

我想提交登录到Reddit.com网站,导航到页面的特定区域,然后提交评论。我看不出这段代码有什么问题,但它不起作用,因为Reddit网站上没有反射(reflect)任何更改。importmechanizeimportcookielibdefmain():#Browserbr=mechanize.Browser()#CookieJarcj=cookielib.LWPCookieJar()br.set_cookiejar(cj)#Browseroptionsbr.set_handle_equiv(True)br.set_handle_gzip(True)br.set_handle_red

python - 需要更多 Mechanize 文档(python)

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。关闭5年前。Improvethisquestion我真的很难为Mechanize的文档找到一个很好的综合资源。甚至关于mechanize'ssite的主要文档并不是真的那么好:它似乎只是列出示例。是否有更正式的文档位置,我可以在其中查看此模块的类和方法列表?我对python有点陌生,所以也许有一个简单的答案。更具体地说,我需要有关mechanize.Browser()的良好信息来源,我只能通过StackOverflo

python - 我如何为 python 的 Mechanize 设置超时值?

如何为python的Mechanize设置超时值? 最佳答案 Alex是正确的:mechanize.urlopen接受一个timeout参数。因此,只需插入一个数字secondsinfloatingpoint:mechanize.urlopen('http://url/',timeout=30.0)。背景,来自mechanize.urlopen的来源:defurlopen(url,data=None,timeout=_sockettimeout._GLOBAL_DEFAULT_TIMEOUT):...return_opener.op

.net - 是否有与 Perl 的 LWP/WWW::Mechanize 等效的 .NET?

在使用.NET的HttpWebRequest/Response对象后,我宁愿自杀也不愿用它来爬取网站。我正在寻找一个现有的.NET库,它可以获取URL,并使您能够跟踪链接、提取/填写/提交页面上的表单等。Perl的LWP和WWW::Mechanize模块在这方面做得很好,但我正在处理一个.NET项目。我遇到了HTMLAgilityPack,看起来很棒,但它不能模拟链接/表单。这样的工具是否已经存在? 最佳答案 有人构建了一些代码作为HTMLAgilityPack(我也很喜欢)的插件运行,它允许您进行一些表单修补:http://app

html - 访问网站 - WWW::Mechanize

我尝试使用下面的代码来获取网站htm源并且它有效。但是访问网站http://reserve.apple.com/WebObjects/ProductReservation.woa/wa/reserveProduct却无法得到结果。通过使用如下代码。但是,我可以通过正确使用浏览器访问此页面。你能给我一些提示或技巧来解决这个问题吗?谢谢。#!/usr/bin/perlusestrict;usewarnings;#createanewbrowseruseWWW::Mechanize;my$browser=WWW::Mechanize->new();#tellittogetthemainpag

linux - 为什么线程之间是IPC-Mechanism?

关闭。这个问题需要更多focused.它目前不接受答案。想改善这个问题吗?更新问题,使其仅关注一个问题editingthispost.8年前关闭。Improvethisquestion我有一个疑问,线程共享除堆栈之外的所有进程段。因此,为了在线程之间进行通信,假设我想将一个单词“Hello”从一个线程传递到另一个线程,IPC机制(例如消息队列)需要什么。 最佳答案 在一个进程中的线程之间以及与其他进程中的线程之间有各种各样的数据通信方式。您只需选择一款适合您的需求即可。共享内存单个进程中的线程可以访问进程中的所有内存,尽管正如您所说