问题标签 [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.

0 投票
1 回答
160 浏览

asp.net - Python 机械汤 - 网页抓取 - 无法以 .aspx 形式打开分页链接,即使在修改“__EVENTTARGET”和“__EVENTARGUMENT”后也是如此

有人可以帮助我提供有关如何使用机械汤以 aspx 形式打开分页链接的说明,我更新了 __EVENTTARGET 和 __EVENTARGUMENT ,但它仍然是打开当前页面,而不是打开下一页。

0 投票
1 回答
299 浏览

javascript - 使用 Python 3 登录和 Web 抓取,但 action='#' 可能还有 Java 脚本

我正在尝试使用 Python 3 使用 Beautifulsoup 和 Mechanicalsoup 从 Ancestry.com 抓取我的数据,但我在尝试登录时遇到了一些问题。这是 Ancestry 上的表单 HTML:

  1. 该站点的 HTML 表单使用 action='#',我发现这意味着将输入提交到当前网页。此外,我看到一个[event],它指出“事件侦听器”,我认为这意味着 Java Script?如果是这样,我是否需要单独的导入工具才能登录?
  2. Beautifulsoup 找不到第一种形式(两种形式)。第二种形式有 action="" 确实出现了。

    /li>
  3. 如何与表格 1 互动?当我使用时,browser.select_form('form[action="#"]')我收到错误 LinkNotFoundError。我的代码:

我看到很多使用 mechanize 的支持,但这不适用于 Python 3。我不知道如何检查 Ancestry.com 是否使用 Java,因为我无法使用第一种形式。我是初学者,所以请假设我什么都不知道,我不会被冒犯。(我还没有找到 action='#' 的教程,因为该查询返回的结果很少)

(此人使用不同的策略登录 Ancestry,但自从发布此代码后网站已更新https://github.com/freeseek/getmydnamatches/blob/master/getmyancestrydna.py他的代码对我来说有点太高级了,在我的水平。)

0 投票
0 回答
77 浏览

python - 如何调试 MechanicalSoup 表单提交?

我正在使用 MechanicalSoup 在网站上测试表单。该表单有几个不同的无线电输入,我想遍历每个输入并检查表单是否打开了正确的页面。出于商业/隐私原因,我无法在网站上发布确切的代码,但这是我的通用流程。

当我选择 name='dummyVar' 的单选按钮的输入并检查它是否使用 brwsr.launch_browser() 工作时,我可以看到 brwsr 选择了正确的输入。但是,当我提交表单时, brwsr.launch_browser() 总是打开连接到第一个单选输入选项的页面即使我可以看到刚刚选择了第二个、第三个等输入按钮。当我在常规浏览器中浏览表单时,该网站可以正常工作,但我很好奇为什么我创建的 MechanicalSoup StatefulBrowser 无法正确打开链接到每个无线电输入的页面。

任何帮助或建议将不胜感激!!谢谢!

0 投票
0 回答
88 浏览

python - MechanicalSoup:无法登录 gmail

尝试使用 python 中的机械汤库登录谷歌帐户。我不断收到一条错误消息,提示“没有名为标识符的有效元素”。但是,如果您查看 google 登录页面的 html,您会发现确实有一个名为“标识符”的元素。这是我使用的代码:

继续=https%3A%2F%2Fmail.google.com%2Fmail%2F&service=mail&sacu=1&rip=1&flowName=GlifWebSignIn&flowEntry=ServiceLogin20&flowName=GlifWebSignIn&flowEntry=ServiceLogin")

抱歉,代码中间被删减了。我无法正确缩进线条以使其更整洁。哦,这是整个错误消息:

回溯(最近一次通话最后):文件“C:/Users/joldb/PycharmProjects/chatroom/testing.py”,第 9 行,在浏览器中['identifier'] =“用户名”文件“C:\Users\joldb\PycharmProjects \chatroom\venv\lib\site-packages\mechanicalsoup\stateful_browser.py",第 103 行,在setitem self.get_current_form()[name] = value File "C:\Users\joldb\PycharmProjects\chatroom\venv\lib\ site-packages\mechanicalsoup\form.py”,第 237 行,在setitem 返回 self.set(name, value) 文件“C:\Users\joldb\PycharmProjects\chatroom\venv\lib\site-packages\mechanicalsoup\form. py",第 278 行,在 set raise LinkNotFoundError("No valid element named " + name)mechanicalsoup.utils.LinkNotFoundError: No valid element named identifier

0 投票
1 回答
122 浏览

python-3.x - 使用 MechanicalSoup 保持登录状态

我正在尝试构建一个网站抓取工具来从页面中提取 URL。当我在普通网站上时,刮板工作正常,但我想登录,以便我可以使用网站上的过滤器功能。我使用MechanicalSoup登录并且登录成功,但是当我使用请求移动到页面时,我不再登录。请帮助!

这是我的代码:

然后我继续进行我的刮...

0 投票
1 回答
60 浏览

python - 登录 Draftkings

我正在尝试使用 Mechanicalsoup 登录 Draftkings 体育博彩。这是由于朋友的建议,但不确定mechanicalsoup 是否适合我。登录页面似乎不是一个表单,而是 2 个带有按钮的输入字段来完成工作。

检查页面如下图所示: 检查 Draftkings 登录页面

我想知道我是否需要在这个项目中使用硒。

0 投票
1 回答
207 浏览

python - 重建计算机后 Mechanicalsoup 无法正常工作

我被迫在我的电脑上重新安装 Windows。从那以后,我遇到了一个接一个的问题。

马上。我对 python 或更好的机械汤有疑问。我有用于 webscrapibng 的 pythonscrips,它曾经完全可以正常工作。但现在他们不再工作了。一开始我什至不能再使用“pip install 'Packagename'”了。我需要使用很长的路(python -m install 'Packagename')。我设法解决了这个问题。

我已经卸载并安装了mechanicalsoup、python 甚至视觉代码。

我现在完全不知道在哪里寻找以及如何解决这个问题。我忘了安装一些重要的东西吗?有谁知道这里有什么问题?

这就是我现在正在使用的代码。据我了解,代码没有问题。正如我已经提到的。它曾经在 3 天前工作。

错误消息:

0 投票
1 回答
74 浏览

python - 尝试使用 MechanicalSoup 或 Selenium 从卡巴斯基网站读取数据

目前,我正在尝试从网站(https://account.kaspersky.com/)中抓取数据。在我可以读取数据之前,我需要登录网站。但由于某种原因,它不起作用。我通过互联网阅读以使其正常工作,但不幸的是,我无法解决这个问题。

脚本总是以 selct_form() 方法结束。无论我尝试什么,我总是会遇到同样的错误。即使我指定它。

经过几个小时的尝试,我想尝试不同的工具。硒。但我在这里也有同样的问题。但是在这里我无法提交登录。Selenium 找不到按钮。

这个网站有可能受到保护吗?或者有人看到我的问题吗?

这是 Selenium 的错误消息:

0 投票
1 回答
75 浏览

python - python web抓取问题与机械化

我正在尝试从网站上抓取网络结果:https : //promedmail.org/promed-posts/

我关注了 beutifulsoup。机械汤和机械化到目前为止无法抓取搜索结果。

在美国输入时,内容不显示搜索结果。知道我在这里做错了什么吗?

0 投票
1 回答
127 浏览

python - 我可以使用 MechanicalSoup 来检查未命名的复选框吗?

MechanicalSoup 的教程向您展示了如何使用命名输入框进行操作,但并不是每个编写 html 的人都关心命名。我有一个带有单个表单的 html 页面,其中包含一个未命名的复选框(当您检查它时,会检查所有其他复选框)以及大量其他复选框,所有这些复选框都命名为“alpkey”。谁能帮我选择第一个复选框,或者找到并选择页面中的所有复选框?我需要这样做,然后点击“更多信息”按钮中的链接。html代码是这样的:

....等等。还是我需要硒?

更新:代码下面的代码有效(或似乎 - browser.launch_browser() 除非我使用 StatefulBrowser,否则我无法直观地检查结果)......但我无法进一步了解。我不知道如何点击“提交”按钮链接。

....或者,当我使用 browser =mechanicalsoup.StatefulBrowser() 时,我似乎无法遍历复选框。