- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
В 2023 году 36,9% всех DDoS-атак пришлось на сферу финансов
А 24,9% – на сегмент электронной коммерции
Оксана Мамчуева
Тренды маркетинга в 2024 году: мобильные продажи, углубленная аналитика и ИИ
Экспертная оценка Адмитад
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Добрый день всем!
Пытаюсь распарсить страницу, но не выходит никак один момент. Это будет мой только второй парсер , поэтому сильно не пинайте.
Проблема такая:
Есть на сайте доноре такой код:
<img src="/images/rus.gif" alt="" class="ina">
<img src="/images/eur.gif" alt="" class="ina">
<img src="/images/usa.gif" alt="" class="ina">
<img src="/images/jap.gif" alt="">
</span>
Всегда выводится эти 4 картинки. У некоторых из них есть class="ina". Он может быть или может не быть :) Нужно распарсить так:
Если у картинки rus.gif есть class="ina" то ..., если нету класса, то ...
и т.д с этими четырьмя картинками. Действия для всех этих картинок будут разными.
Даже ума не приложу как правильно это сделать. Пробовал через регулярку, как-то не выходит, всегда действие одно и то же выполнялось, может условие не правильно строил.
Спасибо за помощь!
П.С. Парсер на PHP + CURL.
вам написать полный код парсера?
вам написать полный код парсера?
Просто подсказать с помощью чего это можно сделать. Регулярку например подкиньте. Парсер писать не надо, сам напишу 😂
сначала через preg_match_all все картинки спарсите, а потом проверяйте через foreach:
if (preg_match('class'))
{}
else
{}
ну тогда покажите регулярку с которой у вас не получилось
LEOnidUKG, о Спасибо. Так в принципе и делал:
preg_match('/(rus.*class="ina">)/Uis', $result[0][$i], $rus);
Потом куда то понесло:
if (isset($rus[0]) and (strlen($rus[0])>0)) {} else {}
Получаете текст
$text =' bla bla bla
<span class="reg">
<img src="/images/rus.gif" alt="" class="ina">
<img src="/images/eur.gif" alt="" class="ina">
<img src="/images/usa.gif" alt="" class="ina">
<img src="/images/jap.gif" alt="">
</span>
bla bla bla
';
и парсите его регулярным выражением
if(preg_match_all('#img src="(.*\.gif)"(?U).*(?-U)(?:( class="ina")|)>#im', $text, $found)){
//здесь либо выводите результат (чтоб посмотреть что получилось)
print '<pre>';
print_r($found);
print '</pre>';
//либо циклом проходитесь по массиву $found, чтоб выполнить действия в зависимости от его содержимого
}
Приведенное регулярное выражение не годится на все случаи жизни (можно сделать его более универсальным), но из приведенного текста получает следующее:
Array
(
[0] => Array
(
[0] => img src="/images/rus.gif" alt="" class="ina">
[1] => img src="/images/eur.gif" alt="" class="ina">
[2] => img src="/images/usa.gif" alt="" class="ina">
[3] => img src="/images/jap.gif" alt="">
)
[1] => Array
(
[0] => /images/rus.gif
[1] => /images/eur.gif
[2] => /images/usa.gif
[3] => /images/jap.gif
)
[2] => Array
(
[0] => class="ina"
[1] => class="ina"
[2] => class="ina"
[3] =>
)
)