NewsClip API
NewsClipの記事を外部プログラムでダウンロードするための、URLの指定方法を記しておきます。
http://newsclip.chem.nagoya-u.ac.jp/cgi-bin/newsclip.cgi?
のあとに、変数名=値&変数名=値…という風に、変数の値を&で区切って与えて下さい。
例:
http://newsclip.chem.nagoya-u.ac.jp/cgi-bin/newsclip.cgi?id=test-newsclip-id&mget=1
cookieのチェック
引数
id=X
説明
Xには、NewsClip ID文字列を指定します。(例id=help-me-again)
結果
指定されたNewsClip IDが正しい場合は、「ID is accepted.」と書かれたページが表示されます。過ったIDを指定した場合は、HTTPエラーコード404を返します。
記事をまとめてダウンロード
引数
id=X&mget=Y&maxsize=A&duration=B
説明
引数の順番は入れかえても構いません。また、idとmget以外の引数は省略できます。省略した場合は、デフォルト値(maxsize: 制限なし、 duration: 1時間)となります。
idの値Xには、NewsClip ID文字列を指定します。(例id=help-me-again)
mgetの値Yは、まとめてダウンロードする際のアーカイブ形式を指定します。(例: mget=1)
Yの値 | アーカイブ形式 |
---|---|
1 | ZIPアーカイブ |
2 | MeDoc形式 |
3 | ZipアーカイブをZboxZでpdb化したもの |
4 | Zipアーカイブをpzでpdb化したもの |
5 | lhaアーカイブ |
6 | Zipアーカイブをmime64エンコーディングしたもの |
7 | tarアーカイブをGNU zipで圧縮したもの |
maxsizeの値Aは、ダウンロードされる記事の総量の上限をキロバイト単位で指定します。(例:最大1.2Mバイトダウンロードしたい場合はmaxsize=1200)アーカイブには、購読記事一覧で表示される順番に記事がとりこまれ、総ファイルサイズがmaxsizeを越える直前で打ち切ります。購読記事一覧での記事の順序は個人設定で変更することができます。
NewsClipで1度ダウンロードした記事は、しばらくすると購読済み扱いとなり、次に巡回して記事が更新されるまではダウンロード対象からはずされます。ただ、ダウンロードの途中で失敗するケースもあるので、通常はダウンロードしてから1時間以内に同じ記事をダウンロードしようとすると、(記事が更新されていない場合は)最後にダウンロードした記事が再度ダウンロードされるようになっています。この1時間という有効期限を変更したい場合は、durationの値Bに分単位で指定して下さい。(例:有効期限を2時間に設定するにはduration=120)
結果
“Location: http://newsclip.chem.nagoya-u.ac.jp/ディレクトリ名/アーカイブファイル名”の形式で、アーカイブファイルのURLへリダイレクトするページが返されます。アーカイブ生成に失敗した場合は、リダイレクト先のファイルが存在しない場合があります。記事のフォーマット(iSilo,は、NewsClipウェブページで指定した形式となります。
記事サブセットをダウンロード
引数
id=X&qmget=Y&maxsize=A&duration=B
説明
引数の順番は入れかえても構いません。また、idとqmget以外の引数は省略できます。省略した場合は、デフォルト値(maxsize: 制限なし、 duration: 1時間)となります。
idの値Xには、NewsClip ID文字列を指定します。(例id=help-me-again)
qmgetの値Yは、記事サブセットの番号(1または2)を指定します。アーカイブ形式や記事フォーマットは、NewsClipの個人設定画面で設定して下さい。
maxsizeとdurationについては、記事をまとめてダウンロードの項を参照して下さい。
結果
記事をまとめてダウンロードの項を参照して下さい。
記事リストの取得
引数
id=X&Query=Y&sort=Z&mark=A&conf=B&cat=C&nel=D&begin=E&search=F&output=G&newer=H
説明
Xには、NewsClip ID文字列を指定します。(例id=help-me-again)
Yには、出力フォーマットを指定します。現在のところQuery=TABのみ指定可能です。(タブ区切りのプレーンテキスト形式)
引数の順番は入れかえても構いません。また、idとQuery以外の引数は省略できます。
beginとnelには、何行目から何行分出力するかを指定します。最初の行(データ)を0とします。デフォルトでは該当するすべての行が出力されます。
searchには検索文字列を指定します。指定された文字列が題名などに含まれるチャンネルのみが出力されます。searchの値が指定された場合、markの値は無視されます。”@”+ユーザ名を指定すると、公開読者のチャンネルを検索することができます。(例: search=@matto)
newerの値Hを指定した場合は、チャンネル作成時刻が時刻Hよりも新しいチャンネルのみを出力します。HはUnixTime(Epochからの秒数)で指定します。
sortの値Z | 意味 |
---|---|
0 | 新着順(デフォルト) |
1 | ダウンロード頻度順 |
3 | タイトル順 |
5 | 設定変更日順 |
6 | 購読者数順 |
markの値A | 意味 |
---|---|
0 | すべてのチャンネル(デフォルト) |
1 | 購読済のチャンネルのみを抽出 |
2 | 未購読のチャンネルのみを抽出 |
detの値B | 意味 |
---|---|
0 | すべてのチャンネル(デフォルト) |
1 | 自分がオーナのチャンネルのみを抽出 |
2 | 他人がオーナのチャンネルのみを抽出 |
3 | オーナ不在のチャンネルのみを抽出 |
catの値C | 意味 |
---|---|
0 | すべてのチャンネル(デフォルト) |
1 | 未分類のチャンネルのみを抽出 |
2 | 期間限定のチャンネルのみを抽出 |
3 | 巡回停止のチャンネルのみを抽出 |
4 | カテゴリー「その他」のチャンネルのみを抽出 |
6 | 非公開のチャンネルのみを抽出 |
7 | オフィシャルチャンネルのみを抽出 |
10 | カテゴリー「携帯端末」のチャンネルのみを抽出 |
11 | カテゴリー「コラム/エッセィ」のチャンネルのみを抽出 |
12 | カテゴリー「ニュース(技術系)」のチャンネルのみを抽出 |
13 | カテゴリー「新聞/ニュース」のチャンネルのみを抽出 |
14 | カテゴリー「乗り物」のチャンネルのみを抽出 |
15 | カテゴリー「Mac」のチャンネルのみを抽出 |
16 | カテゴリー「スポーツ」のチャンネルのみを抽出 |
17 | カテゴリー「天気」のチャンネルのみを抽出 |
18 | カテゴリー「定点観測」のチャンネルのみを抽出 |
19 | カテゴリー「レビュー」のチャンネルのみを抽出 |
20 | カテゴリー「政治経済」のチャンネルのみを抽出 |
21 | カテゴリー「Unix/Internet」のチャンネルのみを抽出 |
22 | カテゴリー「映画とゲーム」のチャンネルのみを抽出 |
23 | カテゴリー「掲示板」のチャンネルのみを抽出 |
24 | カテゴリー「音楽芸術」のチャンネルのみを抽出 |
25 | カテゴリー「語学」のチャンネルのみを抽出 |
outputの値Gで、出力したいフィールドを指定します。
|ビット|出力されるフィールド|型 | |—–|—–|—–| |0|チャンネル番号|5桁の整数 | |1|購読しているか否か|論理 | |2|最後に記事をダウンロードした日番号|整数 | |3|前回、記事をダウンロードした日番号|整数 | |4|最後に記事をダウンロードした時刻|整数 | |8|タイトル|文字列 | |9|URL|文字列 | |10|画像を含めるか否か|論理 | |11|差分をとるか否か|論理 | |12|オーナー|文字列 | |13|コメント|文字列 | |14|リンクを辿るか否か|論理 | |15|外部ドメインのページも取り込むか否か|論理 | |16|定時巡回の時刻|整数(0〜24) | |17|チャンネル作成時刻|整数 | |18|チャンネル編集時刻|整数 | |19|カテゴリー|整数 | |20|読者数|整数 | |21|読者数の順位|整数 | |22|最終巡回時刻|整数 | |23|とりおき記事の日番号|コロン区切の整数 | |24|とりおき記事と最新記事の間の更新度の百分率|コロン区切の整数 | |27|最新記事のテキストの最初の数行|文字列 | |28|最新記事のファイルサイズ|整数 | 論理値は真の場合1、偽の場合0です。時刻は特に断りがない限りUnixTime(Epochからの秒数)を意味します。定時巡回の時刻はGMTで表されます。例えば日本時間の朝10時に巡回するチャンネルの巡回時刻の「定時巡回の時刻」フィールドは1になります。例えばチャンネル番号とタイトルだけを取得したい場合はGの値は(1«0)+(1«8)=257を指定して下さい。日番号は、Epochを0日目とした、日数を表します。ただし、日数は「定時巡回の時刻」に繰りあげるものとします。最新記事のファイルサイズは、NewsClipウェブページで指定した形式(iSilo, Plucker, doc, etc.)での値です。
結果
タブ区切り形式を指定した場合は、outputで指定したフィールドが、タブ区切りのプレーンテキストで出力されます。その際、各フィールドに含まれるbackslash, carriage return, new line, tab, null文字はそれぞれ”??”, “?r”, “?n”, “?t”, “?0”に置きかえられます。他人の非公開チャンネルと、削除されたチャンネルはリストには含まれません。
サンプル
NewsClipの新着記事を表示するCGI
更新履歴
- 平成16年5月31日(木)
- wikiに移行。mget=7オプションの追加。
- 平成15年8月21日(木)
- newerオプションを追加。サンプルを追加。
- 平成15年8月20日(水)
- maxsize,durationのデフォルト値を、個人設定の値から、固定値に変更、記事リストの[API](/API)を追加