ホームページ php教程 php手册 Yahoo! Search API を使用して独自の検索エンジンを開発する - php バージョン

Yahoo! Search API を使用して独自の検索エンジンを開発する - php バージョン

Jun 13, 2016 pm 12:46 PM
行進 api search yahoo 会社 利用 開発する 検索エンジン 時間 バージョン アメリカ合衆国 ヤフー

    美国东部时间3月1日,雅虎公司联合创始人之一的杨致远将宣布公司的搜索网络将进入Web服务。雅虎公司在www.developer.yahoo.com网站建立了Yahoo Search Developer Network,公司计划在此纽约举行的搜索引擎战略大会(Search Engine Strategies Conference)上推出这一计划。该网络将允许开发者在雅虎搜索之上建立新的应用程序,其中包括图像、视频、新闻以及地区搜索等内容。想要使用这项服务的会员必须先去http://api.search.yahoo.com/webservices/register_application  申请一个自已的ID号,注:每个ID号每天只能搜索5000次。

    下面我们看一下,如何用PHP脚本调用Yahoo! Search API实现搜索的效果,全部脚本如下:
  

// Yahoo Web Services PHP Example Code
// Rasmus Lerdorf
// www.knowsky.com

$appid = 'YahooDemo';
// 在这输入你申请的ID号

$service = array('image'=>'http://api.search.yahoo.com/ImageSearchService/V1/imageSearch',
                 'local'=>'http://api.local.yahoo.com/LocalSearchService/V1/localSearch',
                 'news'=>'http://api.search.yahoo.com/NewsSearchService/V1/newsSearch',
                 'video'=>'http://api.search.yahoo.com/VideoSearchService/V1/videoSearch',
                 'web'=>'http://api.search.yahoo.com/WebSearchService/V1/webSearch');
?>

PHP Yahoo Web Service Example Code


Search Term:

Zip Code: (for local search)




function done() {?>

exit;
}

if(empty($_REQUEST['query']) || !in_array($_REQUEST['type'],array_keys($service))) done();

// Ok, here we go, we have the query and the type of search is valid
// First build the query
$q = '?query='.rawurlencode($_REQUEST['query']);
if(!empty($_REQUEST['zip'])) $q.="&zip=".$_REQUEST['zip'];
if(!empty($_REQUEST['start'])) $q.="&start=".$_REQUEST['start'];
$q .= "&appid=$appid";

// Then send it to the appropriate service
$xml = file_get_contents($service[$_REQUEST['type']].$q);

// Parse the XML and check it for errors
if (!$dom = domxml_open_mem($xml,DOMXML_LOAD_PARSING,$error)) {
  echo "XML parse error\n";
  foreach ($error as $errorline) {
  /* For production use this should obviously be logged to a file instead */
    echo $errorline['errormessage']."
\n";
    echo " Node  : " . $errorline['nodename'] . "
\n";
    echo " Line  : " . $errorline['line'] . "
\n";
    echo " Column : " . $errorline['col'] . "
\n";
  }
  done();
}

// Now traverse the DOM with this function
// It is basically a generic parser that turns limited XML into a PHP array
// with only a couple of hardcoded tags which are common across all the
// result xml from the web services
function xml_to_result($dom) {
  $root = $dom->document_element();
  $res['totalResultsAvailable'] = $root->get_attribute('totalResultsAvailable');
  $res['totalResultsReturned'] = $root->get_attribute('totalResultsReturned');
  $res['firstResultPosition'] = $root->get_attribute('firstResultPosition');

  $node = $root->first_child();
  $i = 0;
  while($node) {
    switch($node->tagname) {
      case 'Result':
        $subnode = $node->first_child();
        while($subnode) {
          $subnodes = $subnode->child_nodes();
          if(!empty($subnodes)) foreach($subnodes as $k=>$n) {
            if(empty($n->tagname)) $res[$i][$subnode->tagname] = trim($n->get_content());
            else $res[$i][$subnode->tagname][$n->tagname]=trim($n->get_content());
          }
          $subnode = $subnode->next_sibling();
        }
        break;
      default:
        $res[$node->tagname] = trim($node->get_content());
        $i--;
        break;
    }
    $i++;
    $node = $node->next_sibling();
  } 
  return $res;
}

$res = xml_to_result($dom);

// Ok, now that we have the results in an easy to use format,
// display them.  It's quite ugly because I am using a single
// display loop to display every type and I don't really understand HTML
$first = $res['firstResultPosition'];
$last = $first + $res['totalResultsReturned']-1;
echo "

Matched ${res[totalResultsAvailable]}, showing $first to $last

\n";
if(!empty($res['ResultSetMapUrl'])) {
  echo "

Result Set Map: ${res[ResultSetMapUrl]}

\n";
}
for($i=0; $i<$res['totalResultsReturned']; $i++) {
foreach($res[$i] as $key=>$value) {
    switch($key) {
      case 'Thumbnail':
        echo "\n";
        break;
      case 'Cache':
        echo "Cache: ${value[Url]} [${value[Size]}]
\n";
        break;
      case 'PublishDate':
        echo "$key: ".strftime('%X %x',$value);
        break;
      default:
        if(stristr($key,'url')) echo "$value
\n";
        else echo "$key: $value
";
        break;
    }
  }
  echo "
\n";
}

// 前/次のページのリンクを作成します
if($start > 1)
echo '<-前のページ   ';
if($last < $res['totalResultsAvailable'])
echo '次のページ->';
done();
?>

有兴趣ある朋友还可看一下[アニメーション态网站制作指南]制作のASPバージョン:http://www.knowsky.com/yahoo/

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

おすすめのAI支援プログラミングツール4選 おすすめのAI支援プログラミングツール4選 Apr 22, 2024 pm 05:34 PM

この AI 支援プログラミング ツールは、急速な AI 開発のこの段階において、多数の有用な AI 支援プログラミング ツールを発掘しました。 AI 支援プログラミング ツールは、開発効率を向上させ、コードの品質を向上させ、バグ率を減らすことができます。これらは、現代のソフトウェア開発プロセスにおける重要なアシスタントです。今日は Dayao が 4 つの AI 支援プログラミング ツールを紹介します (すべて C# 言語をサポートしています)。皆さんのお役に立てれば幸いです。 https://github.com/YSGStudyHards/DotNetGuide1.GitHubCopilotGitHubCopilot は、より少ない労力でより迅速にコードを作成できるようにする AI コーディング アシスタントであり、問​​題解決とコラボレーションにより集中できるようになります。ギット

Go 言語を使用してモバイル アプリケーションを開発する方法を学ぶ Go 言語を使用してモバイル アプリケーションを開発する方法を学ぶ Mar 28, 2024 pm 10:00 PM

Go 言語開発モバイル アプリケーション チュートリアル モバイル アプリケーション市場が活況を続ける中、ますます多くの開発者が Go 言語を使用してモバイル アプリケーションを開発する方法を検討し始めています。シンプルで効率的なプログラミング言語として、Go 言語はモバイル アプリケーション開発でも大きな可能性を示しています。この記事では、Go 言語を使用してモバイル アプリケーションを開発する方法を詳しく紹介し、読者がすぐに始めて独自のモバイル アプリケーションの開発を開始できるように、具体的なコード例を添付します。 1. 準備 始める前に、開発環境とツールを準備する必要があります。頭

どのAIプログラマーが一番優れているでしょうか? Devin、Tongyi Lingma、SWE エージェントの可能性を探る どのAIプログラマーが一番優れているでしょうか? Devin、Tongyi Lingma、SWE エージェントの可能性を探る Apr 07, 2024 am 09:10 AM

世界初の AI プログラマー Devin の誕生から 1 か月も経たない 2022 年 3 月 3 日、プリンストン大学の NLP チームはオープンソース AI プログラマー SWE-agent を開発しました。 GPT-4 モデルを利用して、GitHub リポジトリの問題を自動的に解決します。 SWE ベンチ テスト セットにおける SWE エージェントのパフォーマンスは Devin と同様で、平均 93 秒かかり、問題の 12.29% を解決しました。専用端末と対話することで、SWE エージェントはファイルの内容を開いて検索したり、自動構文チェックを使用したり、特定の行を編集したり、テストを作成して実行したりできます。 (注: 上記の内容は元の内容を若干調整したものですが、原文の重要な情報は保持されており、指定された文字数制限を超えていません。) SWE-A

小紅書で作品を公開する時間を設定するにはどうすればよいですか?作品の公開時期は正確ですか? 小紅書で作品を公開する時間を設定するにはどうすればよいですか?作品の公開時期は正確ですか? Mar 24, 2024 pm 01:31 PM

Xiaohonshu は、生活と知識の共有に満ちたプラットフォームで、ますます多くのクリエイターが自由に意見を表現できるようになりました。小紅書でより多くの注目といいねを獲得するには、コンテンツの質に加えて、作品を公開する時期も重要です。では、Xiaohongshu が作品を公開する時間をどのように設定すればよいでしょうか? 1. 小紅書で作品を公開する時間を設定するにはどうすればよいですか? 1. ユーザーのアクティブ時間を把握する まず、小紅書ユーザーのアクティブ時間を明確にする必要があります。一般に、午後 8 時から午後 10 時までと週末の午後は、ユーザーのアクティビティが活発になる時間帯です。ただし、この期間は視聴者グループや地理などの要因によっても異なります。したがって、ユーザーのアクティブ期間をより適切に把握するには、さまざまなグループの行動習慣をより詳細に分析することをお勧めします。ユーザーの生活を理解することで

ブルースタートラベル八尾はどこの会社ですか? ブルースタートラベル八尾はどこの会社ですか? Mar 22, 2024 pm 03:41 PM

「Blue Star Travel Ballad」は、最近プロモーション ビデオが公開されてから、ゲームの注目リストに載っています。「Blue Star Travel Ballad」がどこの会社で作られているのか、多くのプレイヤーが非常に興味を持っています。実際、これは上海の 2D メーカー Manjiu の新作です。以下、編集者が説明させていただきますので、ここではBlue Star Yuanluyao Game Companyの紹介をさせていただきますので、ぜひ一緒にご覧ください。ブルー スター トラベル ヤオの会社はどこですか? 回答: Manjiu Network によって設立されました。 1. まず、「ブルースタートラベルヤオ」はManju’s Big World RPGより発売されたゲームで、3月20日にプロモーションビデオが公開されました。 2. この製品のバージョン番号は 2023 年 10 月に取得されます。ゲームの商標と運営単位はどちらも という会社名で登録されており、後者は 2023 年 2 月に設立され、公式 Web サイトには本社がシンガポールにあることが示されています。 3. 今回公開された11分間のプロモーションビデオでは、

荘子寿氏は来月、TSMC米国工場の建設促進のため米国に駐在すると報じられ、2025年の生産開始に向けて全力で取り組む 荘子寿氏は来月、TSMC米国工場の建設促進のため米国に駐在すると報じられ、2025年の生産開始に向けて全力で取り組む Apr 10, 2024 pm 04:52 PM

4月10日の当ウェブサイトのニュースによると、リバティ・タイムズ紙によると、TSMCは今年5月に荘子寿博士を米国に派遣し、王英朗氏と協力してTSMC米国工場の建設を共同で推進する計画だという。米商務省は現在、TSMC、インテル、サムスンへの補助金額を最終決定したが、TSMCの米国工場は依然として多くの問題を抱えている。 TSMCの経営陣は、生産と製造を専門とするWang Yinglang氏と協力するためにZhuang Zishou博士を派遣することで、先進的なプロセスの導入をできるだけ早く推進したいと考えている。このサイトで TSMC の公式リーダーシップ チームをチェックしてください。 Zhuang Zishou 博士は現在、TSMC の工場担当副部長で、新しい工場の計画、設計、建設、メンテナンス、および既存の工場の運営とアップグレードを担当しています。工場設備。 Zhuang 博士は 1989 年に TSMC に入社しました。

PHP は Web 開発におけるフロントエンドですか、それともバックエンドですか? PHP は Web 開発におけるフロントエンドですか、それともバックエンドですか? Mar 24, 2024 pm 02:18 PM

PHP は Web 開発のバックエンドに属します。 PHP はサーバー側のスクリプト言語であり、主にサーバー側のロジックを処理し、動的な Web コンテンツを生成するために使用されます。フロントエンド テクノロジーと比較して、PHP はデータベースとの対話、ユーザー リクエストの処理、ページ コンテンツの生成などのバックエンド操作に多く使用されます。次に、特定のコード例を使用して、バックエンド開発における PHP のアプリケーションを説明します。まず、データベースに接続してデータをクエリするための簡単な PHP コード例を見てみましょう。

VSCode について: このツールは何に使用されますか? VSCode について: このツールは何に使用されますか? Mar 25, 2024 pm 03:06 PM

「VSCode について: このツールは何に使用されますか?」 》初心者でも経験豊富な開発者でも、プログラマーとしてはコード編集ツールを使わずにはいられません。数ある編集ツールの中でも、Visual Studio Code (略して VSCode) は、オープンソースで軽量かつ強力なコード エディターとして開発者の間で非常に人気があります。では、VSCode は正確に何に使用されるのでしょうか?この記事では、VSCode の機能と使用法を詳しく説明し、読者に役立つ具体的なコード例を提供します。

See all articles