有人可以帮我或分享一些代码来自动填充登录机械化(http://wwwsearch.sourceforge.net/mechanize/)?当我运行它时,我想制作一个python脚本将我登录到我最喜欢的站点。Python自动填充机械化
谢谢!
有人可以帮我或分享一些代码来自动填充登录机械化(http://wwwsearch.sourceforge.net/mechanize/)?当我运行它时,我想制作一个python脚本将我登录到我最喜欢的站点。Python自动填充机械化
谢谢!
这将帮助你登录到一个站点,下载页面,例如:
import mechanize
br=mechanize.Browser()
br.open('http://www.yourfavoritesite.com')
br.select_form(nr=0) #check yoursite forms to match the correct number
br['Username']='Username' #use the proper input type=text name
br['Password']='Password' #use the proper input type=password name
br.submit()
br.retrieve('https://www.yourfavoritesite.com/pagetoretrieve.html','yourfavoritepage.html')
该脚本假定您的登录表单页面的第一和输入名称Username
和Password
。
您可以通过名字也与选择的形式:
br.select_form(name="thisthing")
请,适应这个脚本您最喜爱的网站的登录页面。
AlexMartelli指出,这个脚本应该被推广到处理不同的站点的一些配置参数。
@shorty请参阅我的编辑 – systempuntoout 2010-08-18 21:18:18
还有一件事我该如何知道登录是否成功? – user377419 2010-08-18 21:29:22
您最喜欢的每个网站可能都有不同的表单(表单编号以及用户名和密码字段),并且希望每个用户都使用不同的用户名和密码(在许多网站上使用相同的用户名和密码表示如果有的网站被破解,你的身份现在已经被“妥协”了 - 相当混乱!)。因此,您可以硬编码所有这些参数,如在@ systempuntoout的答案中,或者使用所有这些信息为每个站点编写一个小配置文本文件(例如ConfigParser支持的格式),以便您可以在脚本启动时加载配置,并写入“log_me_in”函数,只需一次,它将sitename作为参数并查找并使用依赖于它的参数。
如果你有很多的“最喜爱的网站”,使加载他们所有的信息感知减慢你的启动时间,那么你可能甚至要考虑更灵活地坚持该信息(例如在sqlite
表),所以它可以迅速查找一个或几个网站,因为它们的名称是使用的“关键”。
您是否阅读过文档? http://wwwsearch.sourceforge.net/mechanize/forms.html – 2010-08-18 21:05:16