问题标签 [robobrowser]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - Robobrowser 和烧瓶错误
我正在尝试为自己创建一个脚本,以便在一些分类网站上使用并从 cl 开始,我正在使用flask web 框架和robobrowser,但进展并不顺利。
目标它将采用我的预设值并将它们放入该分类网站的字段中。这似乎不是一个困难的概念,但是在阅读了 5 个小时的在线不同代码和反复试验后,我记得最好的开发人员在堆栈中......
我应该告诉你我是 Python 的新手,还有很多东西要学,所以任何帮助都将不胜感激。
我得到的错误是: assert isinstance(form, 'str') TypeError: isinstance() arg 2 must be a type or tuple of types
但我不知道如何解决这个问题并且完全迷失了。帮助!!!提前致谢
python - 通过 Python 登录网站 - 如何处理 CSRF?
我正在使用 Python 3 作为脚本,该脚本将监视网页上用户个人资料中的更新。这个站点的登录受到 CSRF 对策的保护,这是一件好事。但是,我无法让我的脚本登录到该站点。
我的方法使用
/li>mechanicalsoup
:我的方法使用
/li>robobrowser
:
在这两种情况下,我都会得到一个 HTTP 状态403
和一条消息说CSRF verification failed. Request aborted.
- 任何想法如何解决这一问题?
- 有问题的表单有一个包含 CSRF 令牌的隐藏输入。我猜
mechanicalsoup
也robobrowser
将提交此输入。我对吗?还是我必须特殊对待? - 我认为这两个包使用的会话将处理像 cookie 之类的所有内容。有什么我错过的吗?
python - 如何为 Python 3.4 安装 RoboBrowser
有人可以给我一个步骤分解的步骤吗?在这个网站上,http ://robobrowser.readthedocs.org/en/latest/installation.html,它说“在命令行:$ easy_install robobroswer”,用于安装步骤。这是什么意思?
python - Python RoboBrowser - 如何从此页面获取内容
我试图在页面http://pretraga2.apr.gov.rs/ObjedinjenePretrage/Search/Search上提交表单
但是我收到错误(HTML),例如:
当前的 Python 脚本:
我试图添加标题,但没有运气。还有什么问题?
python - 在没有使用 Python 的 XML-RPC 的情况下在 wordpress 中发布帖子
过去我使用python-wordpress-xmlrpc库在 Wordpress 上发布帖子,一切顺利,但最近使用 XML-RPC.php 文件对博客进行了巨大的洪水攻击。由于我被迫禁用 API,我正在寻找一种方便的方法来通过 python 脚本发布帖子。我试过 RoboBrowser,但它缺少 AJAX 功能。我也尝试了 Requests 模块,但我不擅长分析网络流量,尤其是在涉及 HTTP 请求和 AJAX 时,因此我无法让它按我想要的方式工作;)所以如果你知道如何使用 Wordpress 和 requests 模块,请帮忙:)
这段代码让我登录 wordpress 并创建一个新帖子,但由于在输入标题、内容、选择类别等时会发生大量 AJAX 请求。我非常不知所措如何处理这些数据条目并最终发布邮政。
python - 我怎么能刮这个?
我需要抓取这个页面(它有一个表单): http: //kllads.kar.nic.in/MLAWise_reports.aspx,最好使用 Python(如果不是 Python,那么是 JavaScript)。我在看像RoboBrowser(基本上是Mechanize + BeautifulSoup)和(也许)Selenium这样的库,但我不太确定如何去做。通过检查元素,它似乎是我需要填写的 WebForm。填写后,网页会生成一些我需要存储的数据。我该怎么做?
python - 使用 RoboBrowser 在单独的文件中登录功能
我正在编写一个程序/脚本来从 Hoovers.com 检索一些关键信息。我目前有 2 个文件。一个是hoovers5.py
(其中包含一些类),另一个是main.py
.
hoovers5.py
:
main.py
:
我已经多次测试了这段代码,如果我运行登录而不将其放入我的主文件中的函数中,则登录有效。它的工作原理是我可以执行以下操作并获得预期的解析值:
但是,一旦我为登录创建了一个功能,登录似乎并没有……坚持?hoovers5.py
我是否因为正在实例化一个新浏览器而丢失了我的文件中的会话main.py
?如何将我的“会话”传递给我的主脚本?我尝试创建一个名为的对象browser2 = RoboBrowser()
,然后通过它打开 URL,但这也不起作用。
我是否需要 cookie(如果,我将如何执行此操作?)或者我是否需要在我的函数中返回某些内容?
python - 无法连接到python中的特定URL
我正在尝试用 Python 连接到Heathrow 奖励网站。我正在尝试使用该RoboBrowser
库从页面中抓取数据,但我的连接尝试引发了ReadTimeout
错误。我使用的所有其他 URL(即 Waterstones、Maximiles)都运行良好。
我已经尝试连接requests
和urllib
库,并得到了相同的结果。
我认为这个问题与 SSL 验证有关,所以我将其关闭,但它并没有改变任何东西。
您应该能够通过在我提到的其中一个库中连接到上面的 URL 来为自己复制问题。
python - python,无法识别身份验证 - urllib2,请求,asp.net
虽然我在这方面并不是特别先进,但我过去在使用 urrlib2、requests 和 scrapy 方面取得了一些成功,但这让我很难过。因此,经过大量搜索并将我的头撞在键盘上之后,我会继续询问。
我想获取网站的 html 源代码,但是在使用我的用户名和密码后,我不断收到一个页面,上面说我的用户名和密码错误。它们在浏览器中运行良好,并且一旦登录,源代码就很容易获得(通过浏览器)。但我似乎无法通过 python/终端获得相同的结果。我将在下面包括我的一些尝试(从这些有用的页面中获得):
使用 urllib2:
另一个版本:
并尝试使用请求:
我也尝试过使用scrapy,但无论我使用哪个库,它都会返回一个页面的html,显示我的密码/详细信息错误。我猜这与我发送的标题/授权(?)有关,但我不太确定。非常感谢任何帮助,请让我知道我可以更新哪些其他细节(我已经为此熬了半夜,所以如果这篇文章没有意义,请原谅我!)
编辑:
以下是对 Prashant 回答的回溯响应(减去密码等):
文件“/Users/Hatsaw/newpy/pras.py”,第 3 行,在 r = requests.get(URL, auth=('username','password')) 文件“/Library/Frameworks/Python.framework/Versions /2.7/lib/python2.7/site-packages/requests-2.9.0-py2.7.egg/requests/api.py”,第 67 行,在获取返回请求('get',url,params=params, **kwargs)文件“/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/requests-2.9.0-py2.7.egg/requests/api.py”,第53行, 在请求返回 session.request(method=method, url=url, **kwargs) 文件”/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/requests-2.9.0 -py2.7.egg/requests/sessions.py”,第 468 行,在请求 resp = self.send(prep, **send_kwargs) 文件“/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/requests-2.9.0-py2.7.egg/requests/sessions.py",第 576 行,在发送 r = adapter.send(request, **kwargs) 文件中" /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/requests-2.9.0-py2.7.egg/requests/adapters.py”,第 437 行,在发送中引发 ConnectionError( e, request=request) requests.exceptions.ConnectionError: HTTPConnectionPool(host='website', port=80): Max retries exceeded with url: /dashboard/ (Caused by NewConnectionError(': 无法建立新连接: [Errno 8] nodename 或 servname 提供,或未知',))7/site-packages/requests-2.9.0-py2.7.egg/requests/adapters.py",第 437 行,在发送中引发 ConnectionError(e, request=request) requests.exceptions.ConnectionError: HTTPConnectionPool(host='网站',端口 = 80):最大重试次数超过了 url:/dashboard/(由 NewConnectionError 引起(':无法建立新连接:[Errno 8] 提供节点名或服务名,或未知'))7/site-packages/requests-2.9.0-py2.7.egg/requests/adapters.py",第 437 行,在发送中引发 ConnectionError(e, request=request) requests.exceptions.ConnectionError: HTTPConnectionPool(host='网站',端口 = 80):最大重试次数超过了 url:/dashboard/(由 NewConnectionError 引起(':无法建立新连接:[Errno 8] 提供节点名或服务名,或未知'))
编辑:
好的,我现在正在使用 mechanize(推荐如下),这就是我要返回的内容(不确定这是我的根本问题的另一个实例还是我无法使用 mechanize!):
文件“/Users/Hatsaw/newpy/pras2.py”,第 13 行,在 browser.form['email'] = 'email address' 文件“build/bdist.macosx-10.6-intel/egg/mechanize/_form.py ”,第 2780 行,setitem 文件“build/bdist.macosx-10.6-intel/egg/mechanize/_form.py”,第 3101 行,find_control 文件“build/bdist.macosx-10.6-intel/egg/mechanize/_form .py”,第 3185 行,在 _find_control mechanize._form.ControlNotFoundError:没有控件匹配名称“电子邮件”
编辑:
仍在为此苦苦挣扎,所以在这个项目的时间用完之前,这是最后的努力,我必须手动进入并获取所有 html!手指交叉。。
好的,所以根据 barny 的建议,我重新使用请求,并且我正在尝试向帖子提供我从成功的浏览器登录中获得的 cookie 信息。我不确定我这样做是否正确,但我正在使用:
现在,目前,我收到了内部服务器错误响应。经过一番研究,aspnet表单似乎是问题所在:
我只是想先检查一下我没有对请求做错什么,然后也许我会按照 Martijn Pieters 在上面的 SO 链接中的推荐探索 BeautifulSoup/robobrowser。
这是html的表单部分要求的内容:
所以。一些小问题。
我的“用户/通行证”术语是否必须与源代码匹配,即用户名 = 用户名或用户?:我现在在 html 中找到了这个,但我找到了 'ctl00$cphMain$tbUsername' 和 'ctl00$cphMain $tbPassword'…</p>
我需要将密码和/或用户名作为 base64.encodestring 发送吗?(我不知道这是否是一个问题,但密码包含字符,如!@$ 等)
我需要添加从浏览器中找到的所有 cookie 字段还是仅添加 PHPSESSID?以下是我在 cookie 中的字段:
ASP.NET_SessionId、CFID、CFTOKEN、__atuvc、__utma、__utmb、__utmc、__utmt、__utmz、BRO_CALLME、BRO_ID、BRO_LOGIN、BRO_MEMBER、BROAUTH、ISFULLMEMBER、phpMBLink、__CT_Data、WRUID
- 有网站 (www.website.com)、登录页面 (www.website.com/login),然后是内容 (www.website.com/content)。我认为我使用(成功登录)登录页面中的 cookie 并将其“发送”到内容页面是否正确?我应该手动执行此操作(从浏览器 cookie 信息中输入字段详细信息)还是在代码中执行此操作(因此,在下面的代码中我将使用:cookies = r_login.cookies)?
最后,这是我当前使用的返回内部服务器错误的代码..:
抱歉,这已经变得相当长了,如果我需要将它分成几个帖子,请告诉我 - 我一开始以为是一个简单的问题已经变成了别的东西!
python - 如何从标签之间提取文本?
我正在使用 robobrowser 抓取此页面,在页面内部有一个textarea
标签,其中包含我需要复制和存储的信息。
这是我的代码:
我如何从
我需要XXXXX
他们自己的变量。