プログラムで整数シーケンスのオンライン百科事典(http://oeis.org)から結果を検索して取得する方法はありますか?
私は彼らのサイトを検索しましたが、結果は常にhtmlで返されます。彼らはAPIを提供していないようですが、ポリシーステートメントで、プログラムでデータベースにアクセスすることは許容できると述べています。しかし、スクリーンスクレイピングなしでそれを行う方法は?
どうもありがとうございました。
OEISは、内部形式を使用するものだけでなく、いくつかのアクセスポイントを提供するようになりました。これらはほとんど文書化されていないように見えるので、ここに私が見つけたすべてのエンドポイントがあります:
https://oeis.org/search?fmt=json&q=<sequenceTerm>&start=<itemToStartAt>
指定された結果から見つかった結果のJSON形式の応答を返しますsequenceTerm
。返される結果が多すぎる場合は、count
> 0になり、一方results
はになりますnull
。結果が返されない場合は、count
0になります itemToStartAt
。最大10個しか返されないため、結果のページ付けに使用されます。これは0から始まります。結果の2ページ目を返したい場合、これは10になります。各エントリの意味に関する情報はここにあります。
https://oeis.org/search?fmt=text&q=<sequenceTerm>&start=<itemToStartAt>
以前とまったく同じ引数ですが、これによりOEIS内部形式で返されます。これは主にここについて書かれています。プロジェクトで必要な場合を除いて、これよりもJSON形式を使用することを強くお勧めします。
https://oeis.org/search?fmt=<json|text>&q=id:A<sequenceNumber>
sequenceNumber
が見つかった場合、単一の結果を返します。これは、クエリとして使用できるいくつかの代替方法よりもはるかに最適化されているように見えるため、単一のシーケンスを取得するための推奨される方法です。多くの場合、リクエストには1秒もかかりません。代替の検索クエリ方法は、このページにあります。
https://oeis.org/A<sequenceNumber>/graph?png=1
このエンドポイントは、データポイントのグラフ化に使用される画像を取得するために使用できます。または、pngをゼロに設定すると、そのグラフを含むHTMLページが返されます。
https://oeis.org/recent.txt
これにより、最近更新されたエントリのリストがOEIS内部形式で返されます。これは単にクライアントに提供されている静的テキストファイルのように見えるため、使用可能なパラメーターやJSON形式はありません。OEISデータベースからの応答の長さのため(一部のシーケンスでは応答に5秒以上かかる場合があります)、要求を大量にキャッシュし、上記のエンドポイントを使用して変更されたときに更新することを強くお勧めします。
http://oeis.org/search?fmt=text&q=2,5,14,50,233の形式のURLは、適切にフォーマットされたテキスト出力を提供します。
しかし、テキスト形式で単一のシーケンスを取得する方法はないようです。
Mathematicaを使用している場合は、次のノートブックが役立つようです。これにより、シーケンスを指定し、OEISから一致するエントリの詳細なリストを自動的にインポートできます。
http://www.brotherstechnology.com/math/oeis_mathematica.html
彼らが提供するAPIは、CGIプログラムを直接使用することだけのようです。
https://oeis.org/search?q=id:A000032&fmt=text
内部形式のエントリのプレーンテキスト形式を提供します