有没有人试图从使用SharePoint构建的网站屏幕抓取数据?

时间:2009-11-26 14:29:47

标签: sharepoint screen-scraping

或者至少有人能指出我关于其疯狂的专有url参数和html字段名称混淆的文档吗?我只能假设这是由SharePoint引起的......

主要问题是,给定使用SharePoint构建的初始页面,我无法使用程序化客户端重新创建表单帖子,因为:

  • 字段名称各不相同,它们附加了某种id,hash,等等(我认为session.wise?不确定)
  • 跟踪我身边的HTTP流量,我看到HTTP请求中包含奇怪的参数,如__REQUESTDIGEST__VIEWSTATE和其他许多

这是SharePoint提出的故意保护设备吗?哪个是底层架构,涉及哪些对象(脚本回调,......)?

(顺便说一句,我没有做任何有害的事情,只是试图从网站上提取公共政府数据)。

感谢。

2 个答案:

答案 0 :(得分:2)

SharePoint只不过是一个ASP.NET应用程序,完全构建在ASP.NET 2.0之上。 据说 __ VIEWSTATE 只不过是具有View State信息的隐藏字段

来到 __ REQUESTDIGEST 这是故意保护,这会带来某种 securito验证,称为FormDigest

最后回答你的问题,你将无法猜测字段和内容,除非你有控制权来改变应用程序的源代码。字段名称看起来像混淆的原因是因为这些控件不是手写的,而是由ASP.NET引擎和解析器代码生成的,Reason字段的名称为Naming Container

我要说的一个建议是,您可以尝试替代方法,而不是尝试抓取屏幕数据,比如SharePoint中的每个List都内置了XML Feed,尝试使用它,如果您有权访问该网站,尝试使用export to excel等检索信息。

答案 1 :(得分:2)

除RSS之外,SharePoint还具有Web服务接口,您可以使用该接口以编程方式访问SharePoint中存储的数据并与之交互。