medar2 писал(а):Нужна регулярка с куском кода до нужного. Типа такого:
Код: Выделить всё
preg_match('#<font class="zag1">.*?class="ssyl">Всего объявлений: (.*?)</td>#u', $source, $match);
$n = $match(1);
Или выбирать при помощи preg_match_all все "Всего объявлений" и брать нужный по номеру, если его по номеру можно определить.
Словосочетание "Продажа-покупка жилья" должно быть обязательным. Иначе другие куски будет жрать из кода они эдентичны только вот этой надписью и мона различить
Продажа-покупка жилья
Код: Выделить всё
<font class="zag1">Продажа-покупка жилья</font>
</td>
</tr>
<tr>
<td><img src="/_img/x.gif" width="1" height="5" border="0" alt="" /></td>
</tr>
<tr>
<td align=left class="ssyl">Всего объявлений: 328</td>
Надо весь кусок этот смотреть иначе нагребет другие, парметр .* нельзя использовать. Тк идентифицировать можно только именно только этим кодом.
Код: Выделить всё
preg_match('#<font class="zag1">Продажа-покупка жилья</font>
</td>
</tr>
<tr>
<td><img src="/_img/x.gif" width="1" height="5" border="0" alt="" /></td>
</tr>
<tr>
<td align=left class="ssyl">Всего объявлений: (.*?)</td>#u', $source, $match);
Не знаю верно или нет.
Вот вообще полный код:
Код: Выделить всё
<?php
// The following code is required to properly run Xedant.com Human Emulator
require("C:/Program Files/Xedant/Human Emulator/Templates/xedant_human_emulator.php");
//Вводим логин
$login="mail@mail.ru";
//Вводим пароль
$pass="passwordtut";
//Указываем время паузы между обновлениями: в минутах
$pausech="1";
//Расчет времени: не менять
$pausm="60000";
$resultpause=$pausech*$pausm;
//Странца ввода логина и пароля
$loginurl="http://domchel.ru/users/";
$baseurl="http://domchel.ru/users/sale.html?page=";
//Тестим новое продвинутое
for($i=1; $i<=$enterch; $i++){
$browser->navigate($loginurl);
$browser->wait_for(240,1);
$html = $webpage->get_document_body("true");
preg_match('#<font class="zag1">Продажа-покупка жилья</font>
</td>
</tr>
<tr>
<td><img src="/_img/x.gif" width="1" height="5" border="0" alt="" /></td>
</tr>
<tr>
<td align=left class="ssyl">Всего объявлений: (.*?)</td>#u', $source, $match);
$numer=$matches[1];
$enterch=round($numer);
$browser->wait_for(240,1);
$input->set_value_by_name('email',$login);
$input->set_value_by_name('password',$pass);
$button->click_by_inner_text('Войти');
$browser->wait_for(240,1);
$browser->navigate($baseurl.$i);
$browser->wait_for(240,1);
$checkbox->click_by_number(0);
$button->click_by_inner_text('Применить');
$browser->wait_for(240,1);
$app->pause($resultpause);
}
// Quit
$app->quit();
?>
Но что то не как оно не хочет если честно скрипт ошибок не выдает, на каком то этапе гаснет и все, походе не доходит даже до парсинга.
Еще хотелось бы сюда запихать хоть какой то информер на мыло, что если скрипт не отрабтывает то шлеться мыло я даже пока не могу предположить как это сделать.