我正在尝试用python创建一个机器人,使用mechanicalsoup scrap来删除一个商标的状态信息-
http://ipindiaonline.gov.in/eregister/Application_View.aspx
这个网站是由asp.net技术组成的,所以它将包含"VIEW_STATE“等其他表单参数。使用mechanical soup,我成功地将应用程序自动应用到验证码页面,但在提交没有验证码的表单后,它给出了一个对象错误(我也附上了此错误的屏幕截图)。因为我想绕过验证码,因为机械汤不使用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 -
发布于 2019-01-14 16:42:51
编写MechanicalSoup是为了帮助网站上的事情自动化,但并不是为了绕过避免网站上的机器人的措施,而这正是你想要做的。可能有一些技术方法可以做到你想要的,但1)它们很可能会违反网站的服务条款,2) MechanicalSoup在这方面帮不了你太多。
https://stackoverflow.com/questions/54177830
复制相似问题