首页 文章

使用Ruby Web bot自动从网站检索数据

提问于
浏览
1

假设我有一个网站,当您输入您的卷号时显示您的标记 . 您还可以通过增加自己的卷号来查看其他人的标记 .

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

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

Background Details:

链接到网站here .

输入位于文本框中 . 单击提交时,表将从服务器端生成并显示在网页中 .

代码看起来很容易,以便Web机器人发送请求并从生成的页面收集数据 .

Problem:

我不知道怎么写web bot在哪里写web bot . 我准备好学习编程语言 .

我已经开始研究/编写Ruby,并且在一周左右的时间内达到足够的水平 . 但是我仍然需要帮助来找到方法,而不是如何做到这一点 .

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

1 回答

  • 0

    首先,您需要一个可以发出POST请求的ruby库 . 如Faraday . 然后,您将发出带有参数哈希的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变化,当然还有数据 . 例如,您需要使用regular expression提取所有这些块 . 你可以做得更好,并使用另一个ruby库Nokogiri的XPath功能 . 你需要自己看看这两个 .

    当你拥有所有数据时,你不需要创建Excel表 - Ruby本身就能够进行这样简单的数学运算 .

    我建议浏览两个提到的库的所有示例,并将所有相关的库应用于您的特定任务 . 对于这样的任务来说,Ruby实际上是一个很好的选择,因为库大多数都是好的,而且起点很简单 . 没有编程经验虽然会使整个过程复杂化 .

相关问题