人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

Entrezが提供しているAPI(以下)を用いて、自分のサイトでpubmed文献検索ができるようにしたいと思っています。使うプログラムはPHP5です。
http://eutils.ncbi.nlm.nih.gov/entrez/query/static/eutils_help.html

具体的には、APIの1つEsearchを使って任意のキーワードに合致するpubmed論文IDのリストを手に入れ、

eutils.ncbi.nlm.nih.gov/entrez/eutils/esearch.fcgi?db=pubmed&term={キーワード}

そのIDのリストをEsummaryに投げて各々のIDの文献のタイトル等のリストを受け取ると方法を考えています。

eutils.ncbi.nlm.nih.gov/entrez/eutils/esummary.fcgi?db=pubmed&id={IDのリスト。複数の場合はカンマ区切り}

以上を踏まえて以下について教えてください(わかりやすくするために便宜上hiccupで検索したとします)。

hiccupという単語でEsearchをつかって検出したときに抽出される複数のIDをEsummaryになげるときのPHP5でのプログラム記述を教えてください。

よろしくお願いします。

●質問者: biotoday
●カテゴリ:インターネット ウェブ制作
✍キーワード:?D API fcgi NCBI NIH
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● felix2007
●5ポイント

http://www.amazon.co.jp/10%E6%97%A5%E3%81%A7%E3%81%8A%E3%81%BC%E...

◎質問者からの返答

ありがとうございました。


2 ● ito-yu
●100ポイント ベストアンサー

なんだ新質問があったのですね;

こっちにも書きます。

さっきは書き損じありました

<form action="search.php" method="post">
Word: <input type="text" name="q">
<input type="submit" value="SEARCH">
</form>
<?php
if(isset($_POST['q'])){
$url1 = 'http://eutils.ncbi.nlm.nih.gov/entrez/eutils/esearch.fcgi?db=pubmed&amp;term='.$_POST['q'];
$res1 = file_get_contents($url1);
if(preg_match_all('/<Id>([0-9]+)<\/Id>/', $res1, $match)){
$url2 = 'http://eutils.ncbi.nlm.nih.gov/entrez/eutils/esummary.fcgi?db=pubmed&amp;id='.implode(',', $match[1]);
$res2 = file_get_contents($url2);

echo $res2;

}
}

◎質問者からの返答

ito-yuさまありがとうございます。質問がかぶってしまいました。一旦これで閉じて自分のところでいじってみます。

本当にありがとうございました。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ