[英]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 </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.