问题标签 [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 - 用python填充没有名称的输入标签
我正在尝试使用带有mechanicalsoup 的python 填充输入标签,但它没有名称字段,我找不到用mechanicalsoup 填充它的方法,是否有人有解决方法或其他库可以让我这样做?
(实际输入):
python - 为什么我在尝试使用 Mechanical Soup 填写表格时收到 400 响应
我目前正在构建一个基本的 webscraper,它使用 Python 和 MechanicalSoup从National Rail获取火车票价格。
我正在尝试使用基本火车数据(起点和终点站,以及日期和时间)填写表格,以便我可以访问特定火车旅程的票价。
这是我用来填写表格的代码
我遇到的问题是,当表单提交时它返回<Response [400]>
。研究使我相信我的表格填写不正确。但是,当browser.launch_browser()
执行并打开我的浏览器时,所有字段似乎都已正确填写,如果我自己按提交,则表单已正确提交并打开正确的票价页面。
有谁知道我做错了什么?
python - Python - 浏览器自动化 - MechanicalSoup/BeautifulSoup
我正在尝试自动在我自己的网站(godaddy 服务器)上提示 javascript 的按钮推送。我正在从我的 MAC OS 终端运行 .py。
我找到了漂亮的汤和机械汤,但只找到了用于解析文本或预填表格的文档。我尝试过没有任何“形式”提及的机械汤代码,而只是尝试单击基于 css 选择器的按钮。
我已经玩了这个代码几个小时,并且不相信我想要完成的事情是可能的。任何人都可以用这些模块中的任何一个确认这是可能的吗?如果没有,有什么更好的工具?
我刚刚使用了这里提供的示例:https ://mechanicalsoup.readthedocs.io/en/stable/tutorial.html#first-contact-step-by-step
我在函数中的代码:
任何指导表示赞赏。谢谢。
python - 单击每次更改其ID的按钮
我使用 Python 和 Selenium。任务是单击带有文本'+like' 的按钮或带有class ='profile-image' 的列'td ' 。但是按钮没有 id 并且它的类“更多喜欢”用于其他按钮。具有类'profile-image-button'的div的情况相同(在其他'divs'中使用的div的类ID)。我试图获取'td' 的id :
输出为“无”
这是网页的html代码:
如何单击按钮或如何获取 id?
python - MechanicalSoup 在没有按钮的情况下点击链接
我正在编写一个应用程序,它使用MechanicalSoup从互联网上抓取一些数据。我已经介绍了login
流程等。我结束的页面包含一个html
表格。问题是,数据不完整。有一个Show more
按钮,允许用户显示完整的数据。这是它的样子(下Inspect
):
我知道它调用jQuery
函数。问题是当然MechanicalSoup
不能点击它,它只能点击它的链接。
使用此代码,我可以找到此链接:
我可以确定它是,bs4.Element.Tag
但是当我想遵循它时(响应是200
,所以我猜它很好)- 它不遵循它。基本上这会添加#
到页面 URL 并且在阅读页面文本后我会注意到一个差异(或者我什至尝试过launch_browser()
- 它也显示不完整的表格):
有什么我做错了吗?还是不可能通过该库遵循这种链接?
python - 提交 Python 时的 Mechanicalsoup Catpcha 问题
我正在尝试使用mechanicalsoup在python中创建一个机器人,以从以下位置刮取商标状态详细信息-
http://ipindiaonline.gov.in/eregister/Application_View.aspx
该站点基于 asp.net 技术,因此它将包含“VIEW_STATE”等其他表单参数。使用机械汤,我已经成功地自动应用到验证码页面,但是在提交没有验证码的表单后,它给出了一个对象错误(我也附上了这个错误的截图)。因为我想绕过验证码,因为mechanicalsoup不使用javascript,所以只能使用它来完成,并且在其他验证码安全网站上“我已经完成了”,但是由于创建了javascript对象“onSubmit”,我收到了这个错误"这个表格的功能。
我无法弄清楚如何模拟使其工作所需的 javascript 或任何其他解决方法。
请不要建议使用 selenium 或 phantomJS,除非它可以在没有验证码的情况下完成。
到目前为止,这是我在 python 中的基本方法/代码..
错误png -
python - 用mechanicalsoup下载文件
我想使用 Python 中的 MechanicalSoup 包在此ONS 网页上下载 Excel 文件。我已阅读 MechanicalSoup文档。我在 StackOverflow 和其他地方广泛搜索了一个示例,但没有成功。
我的尝试是:
在最后一行,我也尝试过:
2019 年 1 月 25 日更新:感谢 AKX 在下面的评论,我已经尝试过
在每种情况下,我都会收到错误:
然而,链接确实存在。尝试将其粘贴到您的地址栏中以确认:
我究竟做错了什么?
2019 年 1 月 25 日第 2 次更新:感谢 AKX 在下面的回答,这是回答我的问题的完整 MWE(为以后遇到相同困难的任何人发布):
mechanicalsoup - 使用 MechanicalSoup 登录 Yahoo Finance
现在我一直在尝试用 python 访问雅虎,我不确定为什么我似乎无法登录。
我的预期流程是
转到雅虎-> 登录-> 输入用户名-> 按提交按钮-> 输入密码-> 按提交按钮。
请让我知道我在哪里犯了错误以及为什么代码似乎不起作用。任何不基于硒的登录雅虎的替代方法将不胜感激,并且仍然使用python。
html - 如何使用 BeautifulSoup/MechanicalSoup 生成 span 标签的子级 - 选择下拉字段值
我正在尝试使用 MechanicalSoup 在网页(http://supermag.jhuapl.edu/mag/?)上完成表单提交。在提交之前,必须在同一个表单中指定日期,使用下拉框选择开始日期、月份、年份、时间等。这可以通过set_select()
MechanicalSoup 功能完成,但我似乎无法访问select
每个相关标签场地。一个小的免责声明;虽然我有科学编程经验,但我对 HTML 和上面提到的 Python 库还是很陌生。
虽然我不确定哪个库最适合用于选择日期,但我似乎无法访问作为表单内select
相应标签的子元素的相关span
标签,其名称属性如“start_day”、“start_month”。
我有mechanicalsoup.Form(form)
和mechanicalsoup.StatefulBrowser(*args, **kwargs)
对象(后者对应于一个bs4.BeautifulSoup
对象)并尝试过:
select
使用 MechanicalSoup设置标签set_select
- 找到相关
span
标签并使用 BeautifulSoup 访问下面的元素(特别是select
标签),目的是通过更改 URL(?)以某种方式选择值
显示了相关 HTML 的片段;将div
标签和后续select
标签记为子标签。
表单标签:
表单中的相关跨度和选择标签:
代码如下:
我希望select
在 bs4find()
尝试中列出标签,或者当以正确的形式调用时,mechanicalsoupset_select()
可以访问并设置给定的标签。select
该span
标签位于 BeautifulSoup HTML 中,但似乎没有任何子select
标签存在于源 HTML 中,并且是选择日期所必需的。调用set_select()
会返回一个错误,指出无法找到该标记。
先感谢您; 这是我在 StackOverflow 上的第一个问题,我希望它能够很好地满足准则!