2

過去の日付の長いリストについて、USD から別の通貨 (EUR など) への為替レートを抽出する必要があります。

Web サイトには過去のwww.xe.com検索ツールがあり、詳細な URL を使用して、特定の日付の料金表を取得できDate:ますFrom:。たとえば、URL http://www.xe.com/currencytables/?from=USD&date=2012-10-15は、2012 年 10 月 15 日の米ドルから他の通貨への換算レートの表を示します。

ここで、日付のリストがあるとします。リストをループして、その URL の日付部分を変更し、必要なページを取得できます。レート リストを抽出できれば、単純grep EURに関連する為替レートが得られます (awk を使用してレートを具体的に抽出できます)。

問題は、Linux コマンド ライン コマンドを使用してページを取得するにはどうすればよいかということです。試してみwgetましたが、うまくいきませんでした。

CLIではない場合、プログラムでそれを行う簡単で簡単な方法はありますか(つまり、日付をコピーしてブラウザのアドレスバーに貼り付けるよりも時間がかかりません)?


更新 1:

実行時:

$ wget 'http://www.xe.com/currencytables/?from=USD&date=2012-10-15'

以下を含むファイルを取得します。

<HTML>
<HEAD><TITLE>Autoextraction Prohibited</TITLE></HEAD>
<BODY>
Automated extraction of our content is prohibited.  See <A HREF="http://www.xe.com/errors/noautoextract.htm">http://www.xe.com/errors/noautoextract.htm</A>.
</BODY>
</HTML>

そのため、サーバーはクエリのタイプを識別してブロックできるようwgetです。これを回避する方法はありますか?


更新 2:

wgetコマンドからの応答とコメント/回答を読んだ後、Web サイトの ToS を確認したところ、次の条項が見つかりました。

You agree that you shall not:
...
f. use any automatic or manual process to collect, harvest, gather, or extract
   information about other visitors to or users of the Services, or otherwise
   systematically extract data or data fields, including without limitation any
   financial and/or currency data or e-mail addresses;

これで、この面での取り組みは終了したと思います。


さて、私の好奇心のためにwget、HTTP リクエストが生成された場合、サーバーはそれがブラウザのリクエストではなくコマンドであることをどのように認識しますか?

4

3 に答える 3

5

-OSTDOUTを書き込むために使用する必要があります

wget -O- http://www.xe.com/currencytables/?from=USD&date=2012-10-15

しかし、xe.com は自動ダウンロードを望んでいないようです。xe.com で自動ダウンロードを行わないことをお勧めします

于 2013-02-27T06:13:13.627 に答える
1

応答のリンクにアクセスしましたか?

http://www.xe.com/errors/noautoextract.htmから:

XE.comの通貨機能をソフトウェア、Webサイト、およびサービスに組み込むことができるライセンスオプションを多数提供しています。詳細については、次のアドレスまでお問い合わせください。

XE.com Licensing
+1 416 214-5606
licensing@xe.com

あなたは私たちが私たちのサイトを作成し維持するために費やした時間、労力、そして費用がかなりのものであることを理解するでしょう。当社のサービスとデータは独自のものであり、長年の努力の結果です。単純な間違いや利用規約の不読の結果であっても、当社のサービスを許可なく使用することは認められません。

これは、使用できるAPIがあるように聞こえますが、料金を支払う必要があります。言うまでもなく、これらの用語を回避するのではなく、これらの用語を尊重する必要があります。

于 2013-02-27T06:27:40.723 に答える