在我的工作中,我经常需要从ethics.ga.gov查看本州的竞选活动披露报告。但是,状态系统是我曾经处理过的最糟糕的Web应用程序之一。它仅提供每个报告的贡献数据。每个选举周期有六份报告。并且增加侮辱伤害,系统是缓慢的。您不仅需要下载很多文件,还必须等待一分钟,以生成该死的东西。这就像是一个明显的机会,可以使流程自动化。我计划要做的是编写一个程序,在其中可以输入链接到所有披露报告的页面的URL,然后它将下载所有贡献报告。对于给定的候选人,我将输入链接到这个网页- http://media.ethics.ga.gov/Search/Campaign/Campaign_Name.aspx?NameID=5753&FilerID=C2009000086&Type=candidate(视图报告:在下拉菜单中标题为“广告系列贡献报告”的列表)。然后,我计划在每个指向报告页面的链接,与该链接到文稿页面的链接之间进行跟踪,并下载csv文件。一旦有了csv文件,(我认为)该项目就属于我的编码能力范围。我现在遇到的问题是我无法弄清楚如何遵循视图报告链接。该系统是用ASP编写的。这些链接使用“查看报告”类型的调用来调用javascript回发功能。ctl02是控件的标识符。似乎将控件标识符映射到我需要的url的信息(在本例中为http://media.ethics.ga.gov/search/Campaign/Campaign_ReportOptions.aspx?NameID=5753&FilerID=C2009000086&CDRID=85776)中加密的__VIEWSTATE字段。我安装了Firebug调试器,尝试以这种方式获取数据。虽然我对Firebug并不陌生,但我只能在net选项卡中找到它对我所需URL的GET请求。显然,我的浏览器正在以某种方式获取下一页,这意味着它应该是可自动化的,但是我现在很茫然。我一直在用python进行这项工作,因为我真的开始喜欢它,但是一切都是可以商量的。我正在Mac(具有完整的gnu环境)上进行此操作,并且希望继续在我熟悉的环境中工作,但是如果必须走那条路,我确实有一个带有Visual c ++ '10的Windows XP VM。你们怎么想?
1 回答
婷婷同学_
TA贡献1844条经验 获得超8个赞
原来数据根本不在加密的__VIEWSTATE中。Firebug在重定向中清除了一个POST操作(尽管已将其设置为不清除任何内容。)我使用Chrome开发者控制台运行了该操作,并且能够捕获POST数据并在应用程序中复制POST操作。那给了我我一直在寻找的URL。
添加回答
举报
0/150
提交
取消