PHP Grabber needed!! :)

Статус
В этой теме нельзя размещать новые ответы.
Мой вариант - грабит законченные предложения c ,как минимум, двумя словами.
PHP:
$pars=preg_match_all("/[A-Z][\w\d]*(?:[\s,\-\(\)\:;\/\.'’]+[\w\d\-'«»\$\"’]+){2,}[\.\!\?;]{1,3}(?=\s|<|\$)/",$text,$out); //rus [А-Я][\w\d]*(?:[\s,\-\(\)\:;\/\.]+[\w\d\-'«»\$\"]+){2,}[\.\!\?;](?=\s|<|\$)
 
Вот парни нарыл инструмент интереснейший _ttp://sourceforge.net/projects/simplehtmldom/. Думаю его и использовать для поиска статьи на странице. Пишите ваше мнение о этом класе, интересно будет почитать что кто думает, потому как я поигравшись с ним немного пришол к выводу что стоит внимания сей класс!
 
Мой вариант - грабит законченные предложения c ,как минимум, двумя словами.
PHP:
$pars=preg_match_all("/[A-Z][\w\d]*(?:[\s,\-\(\)\:;\/\.'’]+[\w\d\-'«»\$\"’]+){2,}[\.\!\?;]{1,3}(?=\s|<|\$)/",$text,$out); //rus [А-Я][\w\d]*(?:[\s,\-\(\)\:;\/\.]+[\w\d\-'«»\$\"]+){2,}[\.\!\?;](?=\s|<|\$)

повтори пожалуста регулярку но в файле текстовом, а то она видимо прокрамсалась форумом и в таком виде не работает.
 
а я тут нашел готовые скриптики граберов

правда как работают незнаю, но как примеры может подойдут
 
а есть такая прога, которая будет грабить сами пхп файлы прямо с хостинга? Если знать полный линк к этом пхп файлу??

не бредь! как ты можешь сграбить сам скрипт если апач при обращении к скрипту дает тебе результат работы скрипта.
 
кому надо вот код рабочего парсера курса валют, его можно переделать под любой сайт...
PHP:
function getExchange2(){	
	$all_corency = array();
    $url = "http://business.akipress.org";
    $ch = curl_init();
    curl_setopt ($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt ($ch, CURLOPT_TIMEOUT, 3);
    $str = curl_exec($ch);
    if (!$str) return false;
	$str = str_replace(array(chr(10),chr(13)),'',$str);
    preg_match("|<td colspan=4>Последнее обновление в <br>(.*)</table>|U",$str,$dat);
    $lastUpdated = $dat[1];
	preg_match_all('|<td class="currency_buy">(.*)<|U',$str,$arr);
	preg_match_all('|<td class="currency_sell">(.*)<|U',$str,$arr2);
    $curses = array('buy'=>array(), 'sell'=>array()); 
	foreach($arr as $a){
		$curses['buy'][bin2hex($x[1][0])] = $arr2;
		$curses['sell'][bin2hex($x[1][0])] = $csb[1];
    }
	$all_corency['date']=$lastUpdated; $all_corency['curses']=$curses;  return $all_corency;
	print_r($curses);
 }
 
  • Заблокирован
  • #17
Zahar, я так и не понял, что вам нужно. Вы хотите изобрести универсальный парсер?

Добавлено через 1 минуту
Вот парни нарыл инструмент интереснейший _ttp://sourceforge.net/projects/simplehtmldom/. Думаю его и использовать для поиска статьи на странице. Пишите ваше мнение о этом класе, интересно будет почитать что кто думает, потому как я поигравшись с ним немного пришол к выводу что стоит внимания сей класс!
Да вы прямо новую планету открыли:D
И чем же это по функционалу отличается от регулярок? Неуниверсальностью?:D
 
Вот парни нарыл инструмент интереснейший _ttp://sourceforge.net/projects/simplehtmldom/. Думаю его и использовать для поиска статьи на странице. Пишите ваше мнение о этом класе, интересно будет почитать что кто думает, потому как я поигравшись с ним немного пришол к выводу что стоит внимания сей класс!

Отличный класс, у самого парсер с ним работает. Zahar, опиши что ты хочешь наваять подробнее. Скажу сразу, что универсального парсера не получится как ни старайся, универсально заточенный под определенный двиг - вполне вероятно, но не со 100% еффективностью.
Сам лично делал парсер с использованием этого PHP Simple HTML DOM Parser, но под каждый источник все равно приходилось писать метод обработки.

Была идея написать автоматический анализатор структуры, чтоб не париться с источниками, но в моем варианте оказалось что это стрелять из пушки по воробьям, поэтому забил
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху