Nano Hash - криптовалюты, майнинг, программирование

Как правильно сформировать URL-запрос yahoo boss

Я начинающий программист, пытаюсь понять, как работает API. Изучал его в течение последних нескольких дней и добился определенного прогресса, но все еще нуждается в некоторой помощи.

Кажется, это URL-адрес для отправки запроса, не совсем понимаю, как его правильно сформировать?

$url = "http://yboss.yahooapis.com/ysearch/web";

Если я хочу, чтобы результаты возвращались в виде json, будет ли это правильно?

$url = "http://yboss.yahooapis.com/ysearch/web?q={keywords}&format=json";

Это действительно поставило меня в тупик, я совсем не уверен, как получить фактический запрос из переданной html-формы, будет ли это правильно?

$url = "http://yboss.yahooapis.com/ysearch/web?q={keywords}";

Если да, то нужно ли мне включать:

$args["keywords"]

Если бы я мог понять, как правильно передать запрос из html-формы, я думаю, что на большинство моих других вопросов также были бы даны ответы.

Что касается этого раздела, я предполагаю, что это переменные для различных аргументов, которые позволяет служба API. Нужно ли для каждого аргумента включать соответствующий код $args[""] в список ниже? Например, если у меня есть &format=json в URL-запросе, то мне также нужно будет сохранить $args["format"] = json"; в списке ниже?

$args = array();
$args["q"] = "yahoo";
$args["format"] = "json";

Или скажем, если хотите включить:

$url = "http://yboss.yahooapis.com/ysearch/web?q={keywords}&abstract=long";

мне также нужно включить:

$args[abstract] = "long";

в список $args выше?

Часть, которая действительно поставила меня в тупик, заключается в том, как мне передать фактический запрос, отправленный через html-форму?

$url = "http://yboss.yahooapis.com/ysearch/web?q={keywords}

Затем я включаю:

$args["keywords"]

в список $args?

Когда я иду, чтобы проверить это, вот результаты, которые я получаю:

домен.com/search.php?q=автомобиль

Очевидно, что запрос не передается должным образом, потому что результат касается Yahoo, а не запроса «автомобиль». И похоже, что это неформатированный ответ json, потому что я знаю, что xml сильно отличается. Любые ссылки на хороший учебник по json были бы замечательными.

Если бы я мог выяснить, как передать фактический запрос из html-формы, я думаю, это дало бы ответы на многие из этих вопросов.

Ниже приведен код, который я считаю кодом по умолчанию, который Yahoo предоставляет для отображения результатов:

Нужно ли мне для этого настраивать какой-то код json? Можно ли предоставить пример или ссылку, чтобы помочь мне лучше понять json, я знаю, что в его основе лежат пары ключ-значение, но я никогда раньше не работал с json, не знаю, с чего начать....

$results = json_decode($rsp);
print_r($results);

Прошу прощения за такой длинный вопрос, но у меня много вопросов, и вместо того, чтобы задавать несколько вопросов, я решил, что 1 длинный вопрос будет лучше.

Это то, что я использую для Yahoo BOSS API в PHP, надеюсь, это поможет

30.04.2013

Ответы:


1

stdClass Object ( [bossresponse] => stdClass Object ( [responsecode] => 200 [web] => stdClass Object ( [start] => 0 [count] => 50 [totalresults] => 112000000 [results] => Array ( [0] => объект stdClass ( [date] => [clickurl] => http://www.yahoo.com/ [url] => http://www.yahoo.com/ [dispurl] => www.yahoo.com [название] => Yahoo! .. ) [1] => объект stdClass ( [date] => [clickurl] => http://mail.yahoo.com/ [url] => http://mail.yahoo.com/ [dispurl ] => mail.yahoo.com [title] => Войдите в Yahoo! мировые новости, финансы, спорт, музыка, фильмы и...) [2] => stdClass Object ( [date] => [clickurl] => http://us.yahoo.com/ [url] => http://us.yahoo.com/ [dispurl] => us.yahoo.com [title] => Yahoo! [аннотация] => Добро пожаловать в Yahoo!. Новый Yahoo! опыт облегчает поиск новостей и информации, которые вам интересны больше всего. Это сеть заказана для вас. ) [3] => объект stdClass ( [date] => [clickurl] => http://sports.yahoo.com/ [url] => http://sports.yahoo.com/ [dispurl] = > sports.yahoo.com [название] => Yahoo! Sports - спортивные новости, результаты, слухи, фэнтези-игры ... [аннотация] => все последние спортивные новости, результаты, слухи, фэнтези-игры и многое другое ) [4 ] => объект stdClass ( [date] => [clickurl] => http://my.yahoo.com/ [url] => http://my.yahoo.com/ [dispurl] => my. yahoo.com [title] => Войдите в Yahoo! => [clickurl] => http://dir.yahoo.com/ [url] => http://dir.yahoo.com/ [dispurl] => dir.yahoo.c om [название] => Yahoo! Каталог [резюме] => Помогите нам улучшить Yahoo! Каталог — поделитесь своими идеями ) [6] => stdClass Object ( [date] => [clickurl] => http://search.yahoo.com/ [url] => http://search.yahoo.com/ [dispurl] => search.yahoo.com [title] => Yahoo! Search - Веб-поиск [abstract] => Поисковая система, которая поможет вам найти именно то, что вы ищете. Найдите самую актуальную информацию, видео, изображения и ответы со всего Интернета. ) [7] => stdClass Object ( [date] => [clickurl] => http://news.yahoo.com/ [url] => http://news.yahoo.com/ [dispurl] => news.yahoo.com [title] => Yahoo! News — Последние новости и заголовки [abstract] => Последние новости и заголовки Yahoo! News. -глубокий охват видео и фото. ) [8] => stdClass Object ( [date] => [clickurl] => http://autos.yahoo.com/ [url] => http://autos.yahoo.com/ [dispurl] => autos.yahoo.com [title] => Фотографии новых автомобилей, цены и обзоры - Yahoo! Autos [abstract] => Смотрите фотографии новых автомобилей, узнавайте цены на новые автомобили и читайте обзоры новых автомобилей на Yahoo! Автомобили. Сравните автомобили и получите бесплатное ценовое предложение от ближайших к вам дилеров. Проверьте Clear...) [9] => stdClass Object ( [date] => [clickurl] => http://us.m.yahoo.com/ [url] => http://us.m.yahoo.com/ [dispurl] => us.m.yahoo.com [title] => Yahoo! Mobile [abstract] => В вашем Yahoo!

<?php
// This enable debugging
ini_set('display_errors', 'On');
error_reporting(E_ALL);

require("OAuth.php"); // You will need to make your own OAuth.php

$cc_key = "---FILL THIS IN WITH YOUR INFO---";
$cc_secret = "---FILL THIS IN WITH YOUR INFO---";
$url = "http://yboss.yahooapis.com/ysearch/web"; // This can be tweaked to search images, videos etc
$args = array();
$args["q"] = "--FILL THIS IN WITH WHAT YOU WANT TO SEARCH FOR---"; // search operator, fill in with query value
$args["count"] = "10"; // Default is 50, restricts results down to 10
$args["web.sites"] = "";  // comma separated value, optional -- usnews.com,nytimes.com, etc
$args["format"] = "json"; // Default is json, options are xml or json, code below only works for JSON at the moment


$consumer = new OAuthConsumer($cc_key, $cc_secret);
$request = OAuthRequest::from_consumer_and_token($consumer, NULL,"GET", $url, $args);
$request->sign_request(new OAuthSignatureMethod_HMAC_SHA1(), $consumer, NULL);
$url = sprintf("%s?%s", $url, OAuthUtil::build_http_query($args));
echo $url . "<br>";
$ch = curl_init();
$headers = array($request->to_header());
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
$rsp = curl_exec($ch);
$results = json_decode($rsp); // Decodes JSON
print_r($results); // Prints results to screen
?>
13.08.2013
Новые материалы

Кластеризация: более глубокий взгляд
Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

Как написать эффективное резюме
Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

Частный метод Python: улучшение инкапсуляции и безопасности
Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

Как я автоматизирую тестирование с помощью Jest
Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..