Здравствуйте ! Прошу помочь Основная проблема тут как считаю я
foreach (file_get_html($links,true) as $lik) {
foreach ($lik->find('.iteminfo-item-border .iteminfo-title-2 a') as $aa) {
$linksa[] = "http://kotlant.ua" . $aa->href;
}
}
Вот весь код
include "simple_html_dom.php";
ini_set('allow_url_fopen','1');
// Получаем ссылки на товары
$html_category = file_get_html('http://kotlant.ua/kg/tverdotoplivnye-kotly/');
$links = array();
// Получаем ссылки на товары с предложениями
foreach($html_category->find('.itemcat-item-border .item-cat-button a') as $a) {
$links[] = "http://kotlant.ua".$a->href;
}
echo "<pre>";
print_r($links);
echo "</pre>";
echo "Товаров - ".count($links);
foreach (file_get_html($links,true) as $lik) {
foreach ($lik->find('.iteminfo-item-border .iteminfo-title-2 a') as $aa) {
$linksa[] = "http://kotlant.ua" . $aa->href;
}
}
echo "<pre>";
print_r($linksa);
echo "</pre>";
echo "Товаров - ".count($linksa);
Ошибки
Array
(
[0] => http://kotlant.ua/kg/15/
[1] => http://kotlant.ua/kg/16/
[2] => http://kotlant.ua/kg/17/
[3] => http://kotlant.ua/kg/18/
[4] => http://kotlant.ua/kg/19/
[5] => http://kotlant.ua/kg/22/
[6] => http://kotlant.ua/kg/27/
[7] => http://kotlant.ua/kg/30/
[8] => http://kotlant.ua/kg/40/
[9] => http://kotlant.ua/kg/50/
)
Товаров - 10
Warning: file_get_contents() expects parameter 1 to be a valid path, array given in parser/project/gazal/kotlant/simple_html_dom.php on line 76
Warning: Invalid argument supplied for foreach() in parser/project/gazal/kotlant/index.php on line 20
Notice: Undefined variable: linksa in parser/project/gazal/kotlant/index.php on line 26
Notice: Undefined variable: linksa in parser/project/gazal/kotlant/index.php on line 28
Товаров - 0
Notice: Undefined variable: linksa in parser/project/gazal/kotlant/index.php on line 31
Notice: Undefined variable: articles in parser/project/gazal/kotlant/index.php on line 77
Notice: Undefined variable: articles in parser/project/gazal/kotlant/index.php on line 87
Warning: Invalid argument supplied for foreach() in parser/project/gazal/kotlant/index.php on line 87
Основная проблема тут как считаю я
Правильно считаете, и об этом вам говорит и сам пхп. Функция file_get_html
первым параметром ожидает путь к файлу или ссылку. Вы же передаете массив ссылок, в результате чего получаете соответствующее уведомление
Warning: file_get_contents()
expects parameter 1 to be a valid path, array given
Так что код следует изменить примерно следующим образом
$linksa = [];
foreach ($links as $url){
$lik = file_get_html($url);
if(!$lik) continue;
$items = $lik->find('.iteminfo-item-border .iteminfo-title-2 a');
foreach ($items as $aa) {
$linksa[] = "http://kotlant.ua" . $aa->href;
}
}
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Виртуальный выделенный сервер (VDS) становится отличным выбором
Кто в курсе многопоточности в C++? Решил поизучать многопоточность в C++ и заступорилсяНачал читать книгу Энтони Уильямса "Параллельное программирование...
Есть приложение, которое должно отображать разные изображения в jsp в зависимости от атрибута в сессииКак нужно составить jsp и сам servlet, чтобы...