如何从受Shibboleth保护的网站上抓取数据?

问题描述

| 我试图从我大学的一个网站上抓取数据,该网站使用Shibboleth作为身份验证/保护的一种形式。但是,我很难确定最好的方法来克服它并到达我希望抓取的页面我有有效的凭据,可以用来登录。有人对如何完成此任务有任何建议吗?     

解决方法

我一直在成功编写脚本化Shibbolized登录脚本(以我为例,以监视Shibboleth IdP及其受保护的应用程序的运行状况)。 我正在使用Python的
urllib
模块及其类来处理重定向跟随和cookie传递(对于Shibboleth)以及登录表单发布。稍微修改一下urllib后,您便可以通过Shibbolized登录获得成功的大部分方法。您可以使用这种方法来处理Shibbolized网站的初始登录,然后通过直接使用Python的
urllib
处理抓取。 用于登录Shibboleth的示例Python脚本     ,您可以使用Mechanize提交表单并登录网站:http://wwwsearch.sourceforge.net/mechanize/     ,我认为ECP配置文件旨在通过非浏览器客户端(即命令行)访问Shibboleth保护的资源 尝试我上面链接的Shibboleth Wiki页面上可用的示例客户端之一     ,您还可以尝试Apache JMeter,仅记录您的操作,编写一些脚本(就shibboleth而言,并不是那么容易),并且可以自动访问此页面。 [编辑-更好的解决方案] 我相信Shibboleth文档页面上是Grinder(另一个负载测试工具)的脚本。该测试计划实际上应该很容易修改并用于您目的的Python(ok Jython)脚本的位置     ,回复很晚,但是您可以在验证通过后使用Facebook Webdriver进行登录并抓取。     

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...