- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Переиграть и победить: как анализировать конкурентов для продвижения сайта
С помощью Ahrefs
Александр Шестаков
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
В цикле обходите родительский элемент DOM. А уже внутри цикла ищите картинку и название.
Dram, два цикла можно избежать, если получить продукты по обвертке, а затем уже в цикле искать название и картинку. Нечто подобное должно получиться:
Получил все названия и только 1 картинку (самая первая)
где ошибся?
$pqLink = pq($product);
$title = $pqLink->find('.product-card__title');
$kartinka = $pqLink->find('.product-card-media__element');
$img = $kartinka->attr('src');
echo "<h1>".$title ."</h1>". "<br>";
echo "<img src=".$img.">". "<br>";
}
Но тут вывод, насколько я понимаю опять такой же - сначала все названия, только потом картинки. Да от двух циклов ушли но как сделать вывод - название / картинка?
Вчерашнюю задачку решил - вытащив названия пицц из alt картинок.
Перешел к следующей задачи и опять застрял - кодировка сайта
Сначала пробовал менять тут
на
или
$pq = phpQuery::newDocument('<meta charset="utf-8">' .$pars);
Перепробовал все виды сочетаний кодировок - победить не удалось.
Затем думаю подняться на уровень выше и менять кодировку в curl
Изменил
на
и в результате получаю пустоту при запросе. Почему?
---------- Добавлено 25.05.2019 в 11:57 ----------
Еще попробовал $result = utf8_decode(curl_exec($curl));
была строка
<th dir="LTR" class="style1" style="width: 118px">�����</th>
стала
<th dir="LTR" class="style1" style="width: 118px">?????</th>
---------- Добавлено 25.05.2019 в 12:08 ----------
curl_setopt($curl, CURLOPT_ENCODING ,"UTF-8");
или
curl_setopt($curl, CURLOPT_ENCODING ,"");
вообще не оказывают никакого влияния
Вчерашнюю задачку решил - вытащив названия пицц из alt картинок.
В процессе обучения нужно решать поставленные задачи, а не изобретать хаки.
Задачу я решил, это моя была инициатива вывести красиво :)) По кодировке не подскажите?
застрял - кодировка сайта
Так вроде раньше всё нормально было, судя по стартпосту. Что изменилось?
Раньше был новые современные сайты, а этот старый динозавр в кодировке 1251
---------- Добавлено 25.05.2019 в 12:28 ----------
$links = 'http://hramy.ru/regions/city_abc.htm';
$pars = getPageByUrl ($links);
//$pars = iconv('CP1251','UTF-8',$pars);
require_once 'C:\OSPanel\domains\localhost\phpQuery.php';
$pq = phpQuery::newDocument($pars);
$elem = $pq->find('#table2');
$text = $elem->html();
Задачу я решил, это моя была инициатива вывести красиво
Значит, не решил. Брать из альтов - это не решение. Подсказки как решить были правильные, просто где-то накосячил.
Леня подсказал решение вопроса
$text = $elem->html();
$text = iconv('CP1251','UTF-8',$text);
var_dump($text);