有一个网站,提供了我要获取的数据。不过下载表格 允许分小部分下载,所以我需要填写并按“下载” 按钮约18000次。在这个网站的论坛上,管理员说, 使用此表格下载数据是获取数据的唯一方法,有些人写道 用于自动执行该过程的脚本,如果它们不启动多个脚本,则此类脚本符合条件 同时下载。我想写这样的脚本,但我不知道从哪里开始,因为我不熟悉网页与服务器的交互。
我有一些编写 C/C++ 程序的经验,并且我知道一点 bash 脚本。我知道 html 的基础知识,但我不太了解 html 表单的工作原理。我通常在 Ubuntu 中工作,如果需要,我也安装了 Windows 7。
请告诉我,从哪里开始:我可以使用哪些工具,我应该学习哪些概念来解决这个任务,哪些书籍/教程/文章可能对我在那个方向的教育有帮助。
特别是,我知道的语言(C++、bash 脚本)是否适合此脚本,或者学习其他一些语言是否更好?您使用哪些程序来了解脚本应该向服务器发送什么以及它应该如何接收回文件?
最佳答案
这种东西叫web scraping .有多种方法可以做到这一点。名为 curl 的命令行工具允许您以与浏览器相同的方式从网站获取资源。然而,它是可编写脚本的,您可以将参数传递给它,使其像浏览器一样工作。
通常,我会使用 Python 之类的脚本语言来执行此操作,但也可以使用 bash 脚本和 curl 来执行此操作,尽管更难。当你点击提交按钮时,你需要弄清楚你到底提交给网站的是什么。 firefox 插件 firebug可以帮助您解决这个问题,然后使用 curl 做同样的事情。将 curl 调用置于循环中并改变参数以模拟 18000 次点击。
关于html - 如何自动下载可通过 html 表单获取的数据?我应该学什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10615927/