1

ロール番号を入力するとマークが表示される Web サイトがあるとします。自分のロール番号をインクリメントすることで、他の人のマークも同じように見ることができます。

マークの標準偏差を見つけるための Excel シートを作成したい (大学のプロジェクト)。

すべてのデータを手動で入力することは物理的に不可能なので、この作業を自動的に実行し、すべてのフィールドをテキスト ファイルに保存して、簡単にテーブルに変換できる自動化方法を探しています。

背景の詳細​​:

サイトへのリンクはこちら.

入力はテキストボックスにあります。送信をクリックすると、サーバー側からテーブルが生成され、Web ページに表示されます。

このコードは、Web ボットが要求を送信し、生成されたページからデータを収集するのに十分簡単に​​見えます。

問題:

Web ボットの作成方法や Web ボットの作成場所がわかりません。そして、プログラミング言語を一から学ぶ準備ができています。

私はRubyの勉強/コーディングを始めており、1週間かそこらでこれを行うのに十分なレベルに達します. しかし、私は自分の道を見つけるためにまだ助けが必要です。

Web リンクと生成されたページを表示する必要がある場合は、お気軽に私のロール番号を使用してください。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 機能を使用することもできます。この2つは自分で調べる必要があります。

すべてのデータが揃ったら、Excel シートを作成する必要はありません。Ruby は、このような単純な計算を単独で行うことができます。

上記の 2 つのライブラリのすべての例に目を通し、関連するすべてのライブラリを特定のタスクに適用することをお勧めします。ライブラリはほとんどの場合優れていて、開始するのも簡単なので、Ruby は実際にはこのようなタスクに最適です。ただし、プログラミングの経験がない場合、途中で物事が複雑になります。

于 2013-08-03T18:12:15.470 に答える