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 中的基本方法/代码..
import mechanicalsoup
baseURL = "http://ipindiaonline.gov.in"
browser = mechanicalsoup.StatefulBrowser()
browser.open(baseURL+"/eregister/Application_View.aspx")
form = browser.select_form('form[action="./Application_View.aspx"]')
browser['rdb'] = "N"
response = browser.submit_selected()
form = browser.select_form('form[action="./Application_View.aspx"]')
browser['applNumber'] = "321567"
response = browser.submit_selected()
with open("demo.html","w") as f:
f.write(str(browser.get_current_page()))
exit();
错误png -
解决方案
MechanicalSoup 旨在帮助自动化网站上的事情,而不是绕过避免网站上出现机器人的措施,这正是您想要做的。可能有一些技术方法可以满足您的需求,但 1)它们很可能会违反网站的服务条款,并且 2)MechanicalSoup 在这里对您没有多大帮助。
推荐阅读
- c - return 语句是否被认为是 C 中的表达式语句?
- r - 如何使用 tidyverse 在列表列上设置名称:tibble、purrr、dplyr
- javascript - 为 Here Maps API v3.1 使用新的 apikey,我收到错误“apikey invalid. apikey not found”
- javascript - 在闪亮的仪表板中从 R 访问 javascript 对象
- angular - httpClient 获取请求得到 404 未找到响应
- mongodb - 如何在 MongoDB 中合并更新字段
- excel - 从 Q 列获取多个值,添加一个“。” 并在 A 列中搜索(如果存在),然后删除
- mysql - 查找客户多次订购的产品
- c++ - Boost C++ 规范化字符串重音
- python - groupby 并替换某些值