我从事的研究项目使用了私人公司提供的多个数据库。我需要从其中一个数据库获取大量信息,以便对信息进行统计测试。问题是该网站不太方便用户使用,每次只允许我下载 10 个案例(一张表)(将有大约 25,000 张表需要下载...)。有什么建议吗?
这是我迄今为止尝试过的方法: - DownThemAll(Firefox Web 浏览器的一个应用程序)允许我一次性下载 10 张表格。这很棒,但离我的需求还很远。这里的问题是,我必须按“下一步”按钮才能看到要下载的下一张表格的数量 - 而 DownThemAll 没有注意到它应该按该按钮并继续下载该页面上列出的表格,并不断重复该过程。
是否存在一种编程语言可以帮助我执行以下操作:执行一个 for 循环,要求它登录数据库,获取部分信息,注销,然后再次登录,获取更多信息,注销等,直到获取全部信息?
更新
只是写信感谢大家 - 我没有足够的代表来投票支持你的答案 - 或者只是留下评论感谢你的时间。
答案1
正如 slhck 指出的那样,您几乎可以使用任何通用编程语言来做到这一点。
然而,处理 cookies 和其他浏览器特定行为可能需要一些额外的工作。
有些库试图在某种程度上模拟浏览器,请检查 mechanize http://wwwsearch.sourceforge.net/mechanize/ (Python)
和卷曲 http://curl.haxx.se/libcurl/ 据我所知,它具有几种语言的端口和绑定。
当然,我们假设您可以/应该这样做。
答案2
您可以尝试支持登录的递归网站下载器,例如离线资源管理器专业版(不免费)。它允许您使用其内部浏览器登录,并使用生成的 cookie 来抓取网站。论坛讨论关于这一点。
如果存在可以实现这一功能的免费软件,我很想知道。