Код поиска информации(парсер)

Статус
В этой теме нельзя размещать новые ответы.

badhack

Писатель
Регистрация
14 Апр 2007
Сообщения
46
Реакции
4
Подскажите кусочек кода для парсинга инфы из html страницы, сохраненой на локальной машине.
пример Для просмотра ссылки Войди или Зарегистрируйся
нужно выудить название, раздел каталога, код товара, описание, картинка.
Если есть, можно и готовый скрипт с возможностью импорта вытащеной информации в MySQL.
 
То что на локальной, только упрощает задачу, скачал я так понимаю оффлайн експлорером? :)
Тебе регулярками (regex) нужно пользоватся, с ними можешь искать текст по шаблону, для твоей задачи, два-три дня почитай мануал. Или фрилансер за пару десятков баксов сделает тебе это дело.
 
Код:
<?php
function getTitle( $string ) {
    $s = strpos( $string, "<title>" ) + 7;
    $e = strpos( $string, "</title>", $s );
    $l = $e - $s;
    return substr( $string, $s, $l );
}

function getSection( $string ) {
    $s = strpos( $string, '<table cellspacing="0" cellpadding="0" width="100%"><tr><td class="cbt" align="left">' ) + 85;
    $e = strpos( $string, "</tr></table>", $s );
    $l = $e - $s;
    $output = substr( $string, $s, $l );
    $output = strip_tags( $output );
    $output = explode( "/", $output );
    $section = "";
    $count = count( $output );
    for ( $i = 0; $i < $count; $i++ ) {
        if ( $i != ( $count - 1 ) ) {
            $section .= trim( $output[$i] ) . " -> ";
        }
        else {
            $section .= trim( $output[$i] );
        }
    }
    return $section;
}

function getArtNo( $string ) {
    $s = strpos( $string, "Код товара: <b>" ) + 15;
    $e = strpos( $string, "</b>", $s );
    $l = $e - $s;
    return substr( $string, $s, $l );
}

function getDescription( $string ) {
    $s = strpos( $string, 'method=post name="MainForm">' ) + 28;
    $e = strpos( $string, "<img", $s );
    $l = $e - $s;
    $output = substr( $string, $s, $l );
    $output = strip_tags( $output );
    $output = trim( $output );
    return $output;
}

function getImage( $string ) {
    $s = strpos( $string, '<div style="float:right;"align="center">' ) + 40;
    $s = strpos( $string, 'src="', $s ) + 5;
    $e = strpos( $string, '"', $s );
    $l = $e - $s;
    return "http://www.softair.su/" . substr( $string, $s, $l );
}

$file = file_get_contents( "http://www.softair.su/index.php?productID=150" );

echo "Title: \r\n";
echo getTitle( $file ) . "\r\n\r\n\r\n";
echo "Section: \r\n";
echo getSection( $file ) . "\r\n\r\n\r\n";
echo "ArtNo: \r\n";
echo getArtNo( $file ) . "\r\n\r\n\r\n";
echo "Description: \r\n";
echo getDescription( $file ) . "\r\n\r\n\r\n";
echo "Image: \r\n";
echo getImage( $file );
?>

Результат обработки:
Для просмотра ссылки Войди или Зарегистрируйся

Код:
Title: 
Надувные диваны трансформеры BD 0012, с эл. насосом.


Section: 
Главная -> Надувные диваны и кресла


ArtNo: 
BD0012


Description: 
Надувной диван трансформер BD 0012, с насосом

Уникальный многофункциональный надувной диван трансформер может использоваться в 5 вариантах: как классический удобный и практичный диван, двуспальное супружеское ложе со спинкой и без нее, высокая ортопедическая односпальная кровать для ребенка, шезлонг для двоих.
В этом надувном диване все продумано до мелочей, в течении нескольких секунд его можно перевести из одного положения в другое. Все очень просто и понятно.
Всего за минуту при помощи мощного электрического насоса работающего от сети 220В, надувной диван трансформер приводится в рабочее состояние. И если требуется, то этим же насосом можно полностью выкачать воздух.
Многофункциональный надувной диван трансформер изготавливается из современного, прочного и практичного материала, который водонепроницаем, обладает устойчивостью к механическим нагрузкам и воздействию температур.
Надувной диван трансформер всегда держит свою форму и не теряет упругости, очень устойчив и по настоящему удобен!
Надувной диван соответствует всем стандартам качества! Каждое изделие тестируется и обязательно проходит заводские испытания!

1. Большой удобный диван трансформер!
2. Водонепроницаемый, прочный материал, устойчивый к воздействию температур и механическим воздействиям!
3. Универсальность и мобольность, Вы можете использовать его где угодно, и дома и на природе и даже на воде!
4. Очень просто и легко надувается, легко сдувается! 
5. В сложенном виде &ndash; компактен и не занимает место. Очень удобен при перевозке!


В комплекте идет:
Сам многофункциональный надувной диван трансформер.
Электрический насос, работающий от сети 220В
Удобная сумка с ремешком для хранения и транспортировки.
Инструкция на русском языке.
Ремкомплект.

Варианты использования:
1) Диван
2) Кровать с изголовьем
3) Шезлонг
4) Низкая кровать
5) Высокая кровать


Image: 
http://www.softair.su/pictures/bd0012_1.jpg
 
Feed, молодец, не сдался, помог человеку. Он еще в мускул импорт просил :) Мне похожий скрипт стоил 30$ пару месяцев назад на фрилансе, тогда достало что больше трачу время на тз, чем мне пишут скрипт, и начал курить пхп.
 
Импорт в мускул дополнительно к вышеописанному скрипту:
PHP:
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');
mysql_select_db('mysql_db', $link);
mysql_query("insert into table (title, section, artno, description) values ('".addslashes(getTitle( $file ))."', '".addslashes(getSection( $file ))."', '".addslashes(getArtNo( $file ))."', '".addslashes(getDescription( $file ))."' )");
Как-то так... но я б лучше закинул всё в класс. Удобнее манипулировать данными.
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху