簡體   English   中英

使用Ruby Web bot從網站自動檢索數據

[英]Automate data retrieval from a web site using a Ruby web bot

假設我有一個網站,當您輸入卷號時會顯示您的標記。 您也可以通過增加自己的編號來以相同的方式查看其他人的標記。

我想創建一個Excel工作表來查找標記的標准偏差(學院項目)。

從物理上來說,我不可能手動輸入所有數據,因此我正在尋找某種自動化方法,該方法可以為我完成此工作並將所有字段保存在文本文件中,可以輕松地將其轉換為表格。

背景詳細信息:

鏈接到這里的網站。

輸入是在文本框中的。 單擊提交后,該表從服務器端生成並顯示在網頁中。

對於Web機器人來說,該代碼看起來很容易,它可以發送請求並從生成的頁面收集數據。

問題:

我不知道如何寫一個網絡機器人,在哪里寫一個網絡機器人。 我已經准備好學習基礎的編程語言。

我已經開始研究/編碼Ruby,並且將在一周左右的時間內達到足夠的水平。 但是我仍然需要幫助以找到自己的方法。

如果需要查看Web鏈接和生成的頁面,請隨時使用我的卷號: 5675351

首先,您將需要一個可以發出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會變化,並且數據當然會變化。 例如,您需要使用正則表達式提取所有這些塊。 您可以做得更好,並使用Nokogiri的 XPath功能(另一個ruby庫)。 您需要自己查找這兩個。

當擁有所有數據時,您無需創建Excel工作表-Ruby本身就能進行如此簡單的數學運算。

我建議仔細閱讀上述兩個庫的所有示例,並將所有相關庫應用於您的特定任務。 Ruby實際上是執行此任務的理想選擇,因為庫主要是很好的,而且啟動也很輕松。 沒有編程經驗會使整個過程變得復雜。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM