问题标签 [mechanicalsoup]
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-3.x - MechanicalSoup 亚马逊登录 Cookie 问题
我目前正在尝试使用 MechanicalSoup 登录亚马逊。我可以打开登录页面,但它告诉我需要启用 Cookie 才能继续。但是由于 MechanicalSoup 文档声明它会自动存储和发送 cookie,我不知道问题出在哪里。
这是我当前的代码:
python - MechanicalSoup 棘手的 html 表格
我对 MechanicalSoup 和 webscraping 完全陌生。我一直在努力解析 html 时间表并将其制成 icalendar (ics) 文件以在移动设备上获取它。(我已经成功完成了,耶)。
现在为了让它工作,一旦我选择了我的时间表,我就下载了时间表网站的 html。现在我需要使用 Python 来实际导航到时间表。
到目前为止,这是我的代码(我被卡住了,因为 HTML 太乱了,我不知道该怎么做,而且 MechanicalSoup 的文档还没有那么大):
在此处查看 HTML :( http://keaplan.kea.dk/sws/prodE2017/default.aspx 我想做以下事情:
并从提交的重定向中下载 html。
非常感谢您的帮助!
redirect - python机械汤重定向问题
伙计们,实际上我的代码和路由器中的重定向功能有问题,在我编写了能够找到表单并登录到路由器的代码后,我遇到了一个问题,即使用 login.cgi 登录后路由器重定向链接到http://192.168.1.2/index.asp;session_id=2dfa2490ad2e26a3d073edfdae7d0f45之类的 东西我可以理解它在链接中显示会话 ID,我需要帮助以使我的代码理解并获取我尝试过多次的链接使用 browser.get_url() 但它显示http://192.168.1.2/login.cgi
感谢你们
python - Python Web-Scraping CSRF 令牌问题
我正在使用 MechanicalSoup 通过 Python 3.6 登录网站,但我遇到了 CSRF 令牌问题。
每次我请求返回 html 时,我都会阅读“无效的 CSRF 令牌:禁止”。在登录页面上搜索 html,与标记相似的元素 id 最接近的匹配项是“autheticity_token”,它似乎已经用标记填充了。
我能够使用“re”模块来提取令牌并将其重新提交给具有我上面谈到的 id 但没有运气的元素。请注意,我必须通过 id 找到元素,因为没有为其提供名称(这就是为什么我的 Robobrowser 方法不起作用的原因)。
这是我认为对应于 CSRF 的元素:
在这种情况下,我将提取 "b+csp/9zR/a1yfuPPIYJSiR0v8jJUTaJaGqJmJPmLmivSn4GtLgvek0nyPvcJ0aOgeo0coHpl94MuH/r1OK5UA==" 并将其重新提交给该元素
这是我的代码,其中包含用户、密码和 url 的虚拟值
python - mechanicalsoup - 如何输入单个文本框
我试图解析的站点只有一个没有表单的输入框。我在定义单个输入框、传递地址然后提交时遇到了麻烦。
我想做的是输入一个地址,提交,获取下面的信息id="A18"
title="Click to get bulk trash pick up info"
并加载到 JSON 中。
Python:
python - 使用需要登录的 python 3 抓取网站
只是关于一些抓取身份验证的问题。使用BeautifulSoup
:
从这里的输出,我认为很重要:
这可以很好地抓取网站,但需要登录。在这里,我正在使用该mechanicalsoup
库:
但是它仍然不允许我登录。
有没有人使用过 python 3 的抓取工具,可以让他们抓取具有身份验证的网站?
python - Request.Response 对象不会重定向到正确的 URL
2 个月大的 Python 菜鸟在这里,
我正在使用 MechanicalSoup 在网页上填写登录表单,然后我想提交并转到用户个人资料页面。
尽管我的代码中没有任何错误,但在提交表单后,我仍然从我的新响应对象中获取主页的当前 url。而且这个repsonse对象的状态码是200,说明请求已经成功了?
这是我的代码的相关部分:
如前所述,那里的代码不会显示任何错误。并且在启动浏览器时,我可以看到表格已正确填写
感谢您的帮助:),当然还有关于我的代码的任何其他提示!
python - 按名称选择表格,而不是使用机械汤的 id
即使在阅读了一些文档之后,我仍然无法理解机械汤的状态浏览器的select_form()
作用。它需要一个ID还是需要一个名字?我使用的表单没有 id,但有名称。将使用select_form()
身份证或姓名?我尝试使用的表单看起来像这样(没有 ID)。
我试过使用
stateful_browser.select_form("#userlogin")
和
stateful_browser.select_form("userlogin")
它一直在扔这个
更新:我尝试使用不正确的凭据对该网站进行身份验证,但遇到了同样的错误。我不太确定这意味着什么。
python - 在需要身份验证的网站上使用 urllib 下载 PDF 问题
我正在尝试获取需要用户名和密码的域后面的 pdf 文件。我可以让 MechanicalSoup 输入我的登录凭据,但是当我导航到 pdf 文件时,我可以使用 MechanicalSoups launch_browser() 很好地查看 pdf,但我无法下载 pdf。过去(当在 python 2 中为不需要身份验证的站点使用 BeautifulSoup 时)我只会将 url 传递给 urllib2,如下所示:
当我对 urllib.requests 进行类似操作时,我发现我现在必须再次输入我的登录凭据。所以我尝试了(按照这里的说明):
但是,这似乎不起作用。当我将文件名更改为“test”(删除“.pdf”)并在 chrome 中打开时,它似乎将网页写入文件,该网页说我需要单击将我重定向到登录页面的按钮。因此,为什么我尝试在上面的代码中同时使用 loginUrl 和 urlToPDF。
到目前为止,我读过的论坛似乎说上述内容应该有效。或者,考虑到我可以使用 MechanicalSoup 查看 pdf,有没有办法直接使用 MechanicalSoup 下载 pdf?
python - 在代理后面使用 MechanicalSoup
我正在尝试使用 MechanicalSoup 在 Windows 上用 Python 构建一个简单的 webbot。不幸的是,我坐在(公司强制执行的)代理后面。我找不到为 MechanicalSoup 提供代理的方法。有这样的选择吗?如果没有,我的替代方案是什么?
编辑:按照 Eytan 的提示,我将proxies
和添加verify
到我的代码中,这让我更进一步,但我仍然无法提交表单:
代码挂在最后一行,submit
不接受proxies
作为参数。