Простенький парсер HTML(сайта). Требуется помощь!

Статус
В этой теме нельзя размещать новые ответы.
У меня вариант с хедерами вообще не пашет - сервер говорит Bad Request...
 
Для просмотра ссылки Войди или Зарегистрируйся, я не полный нуб. И немного соображаю и рестарт делал. Также я прошу тех людей которые готовы помочь с ерундой. Если нет желания можешь вообще не писать!

Добавлено через 11 минут
PHP:
<pre>
<?php
    set_time_limit(0);
    $_file_for_parsing = "http://www.dpreview.com/reviews/specs/Fujifilm/fuji_finepixs9100.asp";
    $_save_urls_to = "urls.txt";
    
    $fp = fopen($_save_urls_to, "w+");
    $_anchors_pattern = "/&nbsp;(.*)&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/i";
    $_doc = strip_tags(file_get_contents($_file_for_parsing), "<a>");
        
    if (preg_match_all($_anchors_pattern, $_doc, $res_array)) {
        $n = count($res_array[1]);
        for ($i=0;$i<$n;$i++) {
            $link = $res_array[1][$i];
            fwrite($fp, $link . "\n", 4096);
            //print $link . "\n";
            echo $res_array[1][$i];
        }
    }

    fclose($fp);
    
?>
</pre>

вот есть код он все вытягивает. Но как забить это все в таблицу чтобы характеристика соответствовала значению. За ранее спасибо! :ah:
:) смотрю родные строки ) из соседнего топика по ходу взял. Чтобы в базу забить надо сначала базу создать. Продумай структуру а потом берись за забивание выдранными данными.
 
Вот вы все пишите, а не кто из вас не даст предложений, понимаете, были бы деньги я бы не вопрос задал в комерцию... но мне просто нужна ваша помощь а тобишь ваш предложения кода!!! Я еще не увидел не одного кода который бы делал это, только то что я выложил!
 
wbhrevaktrc122, чувак ты немного не прав, каждый в меру своих сил и времени свободного что бывает, может тебе помочь но не более, ты хочешь чтобы было все на блюдечке тебе подано? Выучи хоть PHP с Mysql ом, это не сложно поверь. Повозишься день два максимум неделю. Для тебя же это говорю. Ты и сам наверно понимаешь, просто ленишься и хочешь сразу результат.
А пинками в нужную сторону, так это всегда пожалуйста. Я и сам как и многие на этом форуме, если что обращаются за помощью, и не расчитывают больше чем на указания и советы.
Все в твоих руках друг.
 
Да все я понял. Не вопрос, я немного рюхаю, и в php и mysql но с preg_match_all не приходилось работать. Если не можете помочь буду читать и выложу потом тем кому это нужно будет, а нужно будет многим, а ты(Для просмотра ссылки Войди или Зарегистрируйся) тоже такой ппц спец, время накатать столько поучений есть, а написать 5 строчек нету :confused:. И при этом я вот непонимаю, вроде топик для программистов. А в тебе один флуд. И я тоже работаю и еще 3 сайта паралельно кручу и 1 делаю, разрываюсь думал хоть с этой мелочку мне помогут.!
 
хех, говоришь понял а ничего не понял.
Если на то пошло, не люблю я такие разговоры, но придется тут ответить от "твоего" кода постом выше нет и строчки.
Если рюхаешь, чего же не делаешь того что советуют, тебе говорят создай базу, потом забивай данные. А ты требуешь дайте мне код рабочий. И не надо тут в топике для программистов плакаться. Свои 5 строк кода я тебе дал, смотри "код который ты выложил". Надеюсь понял о чем я.
Предлагаю здесь не разводить костёр если есть еще желание и время поговорить стучись в аську, номер у тебя уже есть если ты не удалил.
 
Код:
<?

$source = file_get_contents('http://www.dpreview.com/reviews/specs/Fujifilm/fuji_finepixs9100.asp');
//die($source);
if (!$source) die('Nothing found!');

preg_match_all('|align="top" vspace="2"></a>(.*?)</td>\s<td class="tdcontentsm">(.*?)</td>\s</tr>|is', $source, $match, PREG_SET_ORDER);

if (sizeof($match) < 1) die('No results');

die(print_r($match));

?>

осталось почистить от пробелов и всякого бреда и в базу

п.с.

ток сейчас увидел что АртИнт примерно тож самое постил, ток у меня массив другой получиться (PREG_SET_ORDER) :)
 
Код:
<?

$source = file_get_contents('http://www.dpreview.com/reviews/specs/Fujifilm/fuji_finepixs9100.asp');
//die($source);
if (!$source) die('Nothing found!');

preg_match_all('|align="top" vspace="2"></a>(.*?)</td>\s<td class="tdcontentsm">(.*?)</td>\s</tr>|is', $source, $match, PREG_SET_ORDER);

if (sizeof($match) < 1) die('No results');

die(print_r($match));

?>
осталось почистить от пробелов и всякого бреда и в базу

п.с.

ток сейчас увидел что АртИнт примерно тож самое постил, ток у меня массив другой получиться (PREG_SET_ORDER) :)


Спасибо векий и добрый человек!

Добавлено через 38 минут
Если не будет сложно помоги пожайлуста вывести таблицой:

<table border="1">
<tr>
<td>Max resolution</td>
<td>2848 x 2134</td>
</tr>
<tr>
<td>Low resolution</td>
<td>2304 x 1728, 1600 x 1200, 1024 x 768</td>
</tr>
</table>
и так далее.

Код:
PHP:
<?
set_time_limit(0);
$source = file_get_contents('http://www.dpreview.com/reviews/specs/Kodak/kodak_c653.asp');
//die($source);
if (!$source) die('Nothing found!');

preg_match_all('|align="top" vspace="2"></a>(.*?)</td>\s<td class="tdcontentsm">(.*?)</td>\s</tr>|is', $source, $match, PREG_SET_ORDER);


if (sizeof($match) < 1) die('No results');

die(print_r($match));

?>

Просто я не пойму как сюда прикрутить массив, чтобы выдерало именно ([1]=> и [2]=>)

За ранее спасибо, добрые люди!
 
Все оки разобрался

PHP:
<?

set_time_limit(90);
$source = file_get_contents('http://www.dpreview.com/reviews/specs/Kodak/kodak_c653.asp');
$source = str_replace('Max resolution', 'Max. размер', $source);
$source = str_replace('Low resolution', 'Min. размер', $source);
$source = str_replace('Image ratio w:h', 'Image ratio w:h', $source);
$source = str_replace('Effective pixels', 'Число пикселов', $source);
$source = str_replace('Aperture range', 'Диафрагма', $source);
$source = str_replace('Exposure compensation', 'Экспокоррекция', $source);
$source = str_replace('Sensor photo detectors', 'Общее число пикселов', $source);
$source = str_replace('Auto', 'Авто', $source);
$source = str_replace('|align="top" vspace="2">|is', '', $source);

//die($source);
if (!$source) die('Nothing found!');

preg_match_all('|align="top" vspace="2"></a>(.*?)</td>\s<td class="tdcontentsm">(.*?)</td>\s</tr>|is', $source, $match, PREG_SET_ORDER);

$source = str_replace('Max resolution', 'Максимальная резолюция', $source);

if (sizeof($match) < 1) die('No results');

for ( $i = 0; $i <= count($match); $i++ ){

echo '<br>'; 
print $match[$i][0];        
echo '<br>'; 
print $match[$i][1];        
echo '<br>'; 
print $match[$i][2];        
echo '<br>'; 
};


?>
 
HTML парсер

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