1

假设我有一个网站,当您输入您的卷号时会显示您的分数。您也可以通过增加自己的卷号以同样的方式查看其他人的标记。

我想创建一个 Excel 表来查找标记的标准偏差(大学项目)。

手动输入所有数据对我来说在物理上是不可能的,所以我正在寻找一些可以为我完成这项工作并将所有字段保存在文本文件中的自动化方法,我可以轻松地将其转换为表格。

背景详情:

链接到这里的网站。

输入是在一个文本框中。单击提交时,表格从服务器端生成并显示在网页中。

该代码看起来很容易让网络机器人发送请求并从生成的页面收集数据。

问题:

我不知道如何编写网络机器人 在哪里编写网络机器人。我已经准备好从头开始学习一门编程语言。

我已经开始学习/编写 Ruby 并且会在一周左右的时间内达到足够的水平。但我仍然需要帮助才能找到我的方式,如何做到这一点。

如果您需要查看网页链接和生成的页面,请随时使用我的卷号:5675351

4

1 回答 1

0

首先,您需要一个可以发出 POST 请求的 ruby​​ 库。比如法拉第。然后你将发出一个带有参数散列的 POST 请求(填写表格)。在您的情况下,参数的名称是“regno”(查看页面的 html 源代码以自己弄清楚),并且该值很好地是您要提取数据的数字。

在这个阶段你将拥有的是带有结果的 html 页面的源代码。

结果都是大致相同的形式:

<tr bgColor="#ffffff">
    <td align="middle"><font face="Arial" size=2> 301</font></td>
    <td align="left" ><font face="Arial" size=2>ENGLISH CORE</font></td>
    <td align="left" ><font face="Arial" size=2>084&nbsp;&nbsp;&nbsp;&nbsp;</font></td>
    <td align="middle"><font face="Arial" size=2>A2</font></td>
  </tr>

只有 tr 的 bgColor 变化和数据当然。例如,您需要使用正则表达式提取所有这些块。您可以做得更好,并使用另一个 ruby​​ 库Nokogiri的 XPath 功能。这两个需要自己查。

当您拥有所有数据时,您不需要创建 Excel 表格 - Ruby 能够自行完成如此简单的数学运算。

我建议浏览两个提到的库的所有示例,并将所有相关的库应用于您的特定任务。对于此类任务,Ruby 实际上是一个不错的选择,因为库大多都很好,而且启动起来很轻松。虽然没有编程经验会使事情变得复杂。

于 2013-08-03T18:12:15.470 回答