Помогите написать регулярное выражения для парсера

V
На сайте с 28.09.2012
Offline
75
769

Помогите написать регулярное выражения для парсера preg_match. Спарсить нужно с сайта http://otsledit.com.ua/index.php?co=nova_poshta&nomer_pos=59000149694299 состояние посылки http://prntscr.com/9dfzms . Вроде ничего сложного но сам не могу сделать

morozko
На сайте с 31.05.2004
Offline
130
#1

[morozko@fileserver /usr/home/morozko/tmp/tmp1]$ wget "http://otsledit.com.ua/index.php?co=nova_poshta&nomer_pos=59000149694299" -O - 2>/dev/null| grep Состояние| perl -pe 's|^.*Состояние:</strong></td><td[^>]*>(.*?)</td></tr>.*$|\1|' | sed -e "s/<b>//" | sed -e "s/<\/b>//"

НЕ получен

[morozko@fileserver /usr/home/morozko/tmp/tmp1]$

Или чуть проще

wget "http://otsledit.com.ua/index.php?co=nova_poshta&nomer_pos=59000149694299" -O - 2>/dev/null| grep Состояние| perl -pe 's|^.*Состояние:</strong></td><td[^>]*>(.*?)</td></tr>.*$|\1|' | sed -e "s/<[\/]*b>//g"

НЕ получен

[morozko@fileserver /usr/home/morozko/tmp/tmp1]$

Ветер дует, лопасти крутяцца - лампочка горит!
S7
На сайте с 15.08.2010
Offline
79
#2
vasyakrn:
preg_match

PHP:


$m = '';
if (preg_match("~</td>\s*<td[^>]*'left'>.+?</td>~s", $content, $m)) {
$m = strip_tags($m[0]);
}
V
На сайте с 28.09.2012
Offline
75
#3

Спасибо, все работает!! Можете еще помочь сделать проверку(if) есть ли на странице https://novaposhta.ua/tracking/?carg...59000146491260 текст "Одержувач відмовився від отримання відправлення". Чтоб можно было сменной задать разные значения в отличии есть ли такой текст на странице. Зарание спасибо)

Gerga
На сайте с 02.08.2015
Offline
94
#4

vasyakrn, а разве у новой почты нету API? :)

V
На сайте с 28.09.2012
Offline
75
#5
Gerga:
vasyakrn, а разве у новой почты нету API? :)

Новая почта пока не дала нам доступ к API, уже три недели ждем

---------- Добавлено 13.12.2015 в 18:00 ----------

Вот как я делаю, но у меня пишет "Вхождение найдено."

$html = file_get_contents("https://novaposhta.ua/tracking/?cargo_number=59000146491260");
$str = iconv('WINDOWS-1251','UTF-8','відмовився');
if (preg_match('/(' .$str . ')/', $html, $matches)) {
echo "Вхождение найдено.";
} else {
echo "Вхождение не найдено.";
}

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий