А шаблон работает сейчас?
А то у меня все время
23:14 Admin: давай приготовим хлеб
23:14 Алиса: Ничего не найдено.
Кулинария
Модератор: immortal
-
- Сообщения: 295
- Зарегистрирован: Вт апр 23, 2013 5:16 pm
- Откуда: Брянск
- Благодарил (а): 18 раз
- Поблагодарили: 94 раза
Re: Кулинария
Наверное уже не работает. Сайт с которого брались рецепты поменяли.
Debian GNU/Linux 7.9 (wheezy), версия 0.9.0b, Connect
-
- Сообщения: 19
- Зарегистрирован: Пт авг 05, 2016 5:13 pm
- Благодарил (а): 5 раз
- Поблагодарили: 1 раз
Re: Кулинария
Эх, очень жаль. Как раз только попался на глаза этот скрипт в коннекте, хотел свою хозяйку порадовать.Dark_Veter писал(а):Наверное уже не работает. Сайт с которого брались рецепты поменяли.
- Рейтинг: 1.16%
-
- Сообщения: 113
- Зарегистрирован: Вт июн 09, 2015 9:41 pm
- Откуда: Moscow
- Благодарил (а): 15 раз
- Поблагодарили: 9 раз
Re: Кулинария
Ловите коллеги, переделал под новый сайт.
Вывод оставил прежним, он нифига не удобный, надо бы запоминалку и базу с рецептами локальную прикрутить.
кладем в /lib файл simle_html_dom.php
он есть тут https://sourceforge.net/projects/simple ... mldom/1.5/
Вывод оставил прежним, он нифига не удобный, надо бы запоминалку и базу с рецептами локальную прикрутить.
кладем в /lib файл simle_html_dom.php
он есть тут https://sourceforge.net/projects/simple ... mldom/1.5/
Код: Выделить всё
require_once './lib/simple_html_dom.php';
$queryString = $matches[2];
$queryString='пиво';
/*
$findParams = array(
'aerogrill' => '22', // Рецепты для аэрогриля
'waffle' => '27', // Для вафельницы
'yoghurt' => '28', // Для йогуртиницы
'multivarka' => '25', //Рецепты для мультиварки
'steamer' => '15', //Для пароварки
'pressureCooker' => '46', //Для скороварки
'breadMaker' => '23', //Для хлебопечки
'fondue' => '24' //Рецепты фондю
);
*/
$findParams = array();
$recipeNumber = rand(0, 5);
$recipesList = findRecipes($queryString, $findParams);
if (!empty($recipesList)) {
$recipe = getRecipes($recipesList[$recipeNumber]['link']);
echo $recipesList[$recipeNumber]['text']."</br>";
$recipe['link'] = $recipesList[$recipeNumber]['link'];
$recipe['name'] = $recipesList[$recipeNumber]['text'];
sayRecipe($recipe);
} else {
say('Ничего не найдено.');
}
function OpenRecipeURL($link) {
$rec=array();
$rec['EVENT_TYPE']='openurl'; // команда может быть ещё newwindow
$rec['WINDOW']='alice';
$rec['TERMINAL_TO']='*'; //здесь можно конкретный терминал указать
$rec['ADDED']=date('Y-m-d H:i:s');
$rec['EXPIRE']=date('Y-m-d H:i:s', time()+10);
$rec['DETAILS']=$link;
$rec['ID']=SQLInsert('events', $rec);
}
function sayRecipe($recipe) {
OpenRecipeURL($recipe['link']);
say($recipe['name']);
if (!empty($recipe['description'])) {
foreach ($recipe['description'] as $e) {
say($e);
}
}
$ingrstr = 'Нам понадобится: ';
foreach ($recipe['ingredients'] as $e) {
$ingrstr .= $e . ', ';
}
say($ingrstr);
say('Способ приготовления:');
foreach ($recipe['preparing'] as $e) {
say($e);
}
}
function getRecipes($recipeLink) {
if (empty($recipeLink)) {
return FALSE;
}
$ingredients = array();
$html = @file_get_html($recipeLink);
//kolvo definition-list-table__td definition-list-table__td_value
$ingredientsdom=($html->find(".definition-list-table__tr span span"));
$ingskolvodom=($html->find(".definition-list-table__td_value"));
//$ingredientsdom=($html->find("a"));
$count=count($ingredientsdom);
echo "Count=".$coun."</br>";
for ($i = 1; $i <= $count; $i++)
{
echo "</br>Count member:".$i."</br>";
$ingr= $ingredientsdom[$i]->outertext;
$ingrkolvo=$ingskolvodom[$i]->outertext;
$ingredients[]=strip_tags($ingr." ".$ingrkolvo);
var_dump($ingr);
var_dump($ingrkolvo);
}
$description = array();
$descriptiondom=($html->find(".content-box__content .plain-text p"));
foreach($descriptiondom as $descdom)
{$description[] = strip_tags($descdom->outertext);}
$preparing=array();
$preparingdom=$html->find(".js-mediator-article .plain-text");
$i=0;
foreach($preparingdom as $prepdom)
{if($i>0) {$preparing[]=strip_tags($prepdom->outertext);}
$i++;
}
echo "</br>Prepairing..</br>";
var_dump($preparing);
$recipe = array(
'description' => $description,
'ingredients' => $ingredients,
'preparing' => $preparing
);
return $recipe;
}
function findRecipes($queryString, $params) {
if (empty($queryString)) {
return FALSE;
}
$addurl="http://www.edimdoma.ru";
$url = 'http://www.edimdoma.ru/search?utf8=%E2%9C%93&asset=recipes&index=title_search&query=' . urlencode($queryString) . '&search%5Bmain_category_id%5D=&search%5Bcuisine_id%5D=';
if (!empty($params)) {
foreach ($params as &$value)
{
$url .= '&cooking_method_ids%5B%5D=' . $value;
}
}
$url .= '&user_name=';
$html = file_get_html($url);
//$articles=$html->find('main.card__content') ;
$articles=$html->find('div.card__description') ;
$links = array();
foreach ($articles as $container) {
$linkss=array();
$intext=$container->innertext;
$sub='</div>';
$text=strip_tags(substr($intext,0,strpos($intext,$sub)));
preg_match_all('/href="([^"]+)"/', $intext, $linkss);
$href= str_replace('"','',$addurl .str_replace('href=','',$linkss[0][0]));
$links[] = array(
'link' => $href,
'text' => $text
);
}//foreach ($articles as $container)
unset($articles);
return $links;
}
-
- Сообщения: 50
- Зарегистрирован: Пт янв 17, 2014 1:47 am
- Откуда: Карпинск, Свердловская область
- Благодарил (а): 135 раз
- Поблагодарили: 12 раз
Re: Кулинария
А почему с этим кодом Алиса рецепты с пивом выдаёт ?lysyy писал(а):Ловите коллеги, переделал под новый сайт
[/code]
3 строка кода не лишняя?
- Рейтинг: 1.16%
-
- Сообщения: 18
- Зарегистрирован: Вт фев 28, 2017 12:56 pm
- Благодарил (а): 12 раз
- Поблагодарили: 0
Re: Кулинария
я почему то думал что ты спрашиваеш приготовим хлеб и она расказует рецепт на хлеб ,а она читает случайный рецепт . Это как сюрприз для повара
-
- Сообщения: 55
- Зарегистрирован: Вс янв 29, 2017 12:52 am
- Откуда: Уфа
- Благодарил (а): 5 раз
- Поблагодарили: 1 раз
Re: Кулинария
Получается не будет работать шаблон?
А если его сделать на подобии шаблона Вики, что бы с сайта кулинарного брал рецепты как шаблон с Вики?
А если его сделать на подобии шаблона Вики, что бы с сайта кулинарного брал рецепты как шаблон с Вики?
Re: Кулинария
Никак не могу заставить работать данный скрипт. Все время говорит, что "Я не знаю такого рецепта". В чем может быть проблема?