Парсинг для начинающего

Статус
В этой теме нельзя размещать новые ответы.
я тут тему давал
но мне что то толковых предложений не было, а точнее дорого, за каждую строчку в базе по рублю )) проще вручную накопипастить ))
поэтому обращаюсь в данную тему, может кто поможет хотя бы с началом
 
  • Заблокирован
  • #22
А, примерно, сколько парсеров такого объёма можно сделать на страницу, чтобы сильно её не грузить?
А как лучше, не подскажете?
Данный метод плох нагрузками, как я понимаю..?
Сильно - нечёткое понятие. Регулярки надо использовать по надобности.
Метод с тремя скриптами плох тем, что Вы парсите абсолютно одну информацию три раза, хотя это незачем.. Лучше - один. Если нужен пример, говорите чётко. Нужно эту инфу раскидать по 3 столбцам?
 
Digwnews, да, если не трудно.. Чтобы на будущее знать, как оперировать в данном моменте.. Заранее спасибо..
 
  • Заблокирован
  • #24
Вообще это реализация с помощью CSS. Особо не парился с оформлением и прочим.. Главное принцип действия.. Кстати, тот парсер уже не работает, они изменили жирный шрифт.
Вот доработанный и с колонками:
parser.php
PHP:
<?php
set_time_limit(0);
echo '<head>

<link rel="stylesheet" type="text/css" href="style.css" media="screen" />
</head>
';

$url='http://livetv.ru/livescore/';
$input=file_get_contents($url);

preg_match_all('/<span .*class="liveb\d">(.*)<\/span>/', $input, $regs);

preg_match_all('/<span class="whitesmall">(.*)<\/span>/', $input, $regs1);

$k=count($regs1[1]);
$r=0;
$l=1;
for($i=0;$i<$k; $i++)
{
If($i==0)
echo '<div id="leftColumn">';
If($i==4)
echo '<div id="centerColumn">';
If($i==9)
echo '<div id="rightColumn">';
echo 'Вид:';
echo $regs1[1][$i];
echo ' ';
echo $regs[1][$r];
echo 'Счёт:';
echo ' ';
echo $regs[1][$l];
$r=$r+2;
$l=$l+2;
echo '<br>';
If($i==3)
echo '</div>';
If($i==8)
echo '</div>';
If($i==14)
echo '</div>';
}
?>
style.css
Код:
#leftColumn {
position:absolute;
left:0em;
top:.2em;
width:14em;
margin:0;
padding:1em .5em 2em .5em;
background:#cccccc;
border:1px solid #eeeeee;
font-size:.9em;
}

#leftColumn h2 { 
margin:0 0 -1em 0; 
padding:0;
font-size:1em;
letter-spacing:.1em;
}

#leftColumn ul { 
margin:1.5em 0 0 0; 
padding:0;
list-style:none;
}

#leftColumn li { 
margin:0 0 .4em 0; 
padding:0;
}

#leftColumn li a { 
margin:0 0 0 .2em;
color:#cc0000;
text-decoration:none; 
}

#leftColumn li a:hover { 
color:#ffffff;
text-decoration:underline; 
}

#centerColumn {
margin-top:.2em;
margin-left: 16em;
margin-right:16em;
voice-family: "\"}\"";
voice-family: inherit;
margin-left:17.50em;
margin-right:17.50em;
padding:1em .5em 2em .5em;
background:#cccccc;
font-size:.9em;
}

html>body #centerColumn {
margin-left:17.50em;
margin-right:17.50em;
}

#centerColumn h2 { 
margin:0 0 -1em 0; 
padding:0;
font-size:1em;
letter-spacing:.1em;
}

#rightColumn {
position:absolute;
right:2.25em;
top:.2em;
width:14em;
margin:0;
padding:1em .5em 2em .5em;
background:#cccccc;
border:1px solid #eeeeee;
font-size:.9em;
}

#rightColumn h2 { 
margin:0 0 -1em 0; 
padding:0;
font-size:1em;
letter-spacing:.1em;
}

#tags {
margin:0 0 .5em 0;
width:10em;
float:right;
border:none;
text-align:right;
}

#tags img {
border:none;
}

#tags p {
margin:0 0 .25em 0;
}

#tags a {
font-size:.7em;
color:#cc0000;
}

Как-то так.. Возможно, криво.. С вёрсткой особо не думал..
 
Огромное спасибо ещё раз! Суть ясна :)
 
  • Заблокирован
  • #26
2sympler Напишите чёткий адрес откуда парсить и будет вам парсер.
 
попробовал в действии))нормально, но буквы появляются такие:
Р’РёРґ:водное поло Синтез - ВМФСчёт: 0:0
Р’РёРґ:футбол Терек - Крылья СоветовСчёт: 1:0
Р’РёРґ:футбол Реал Сосьедад - ЭркулесСчёт: 0:0
Р’РёРґ:гандбол Заря Каспия - СКИФСчёт: 13:12
чо делать?:)
 
  • Заблокирован
  • #28
попробовал в действии))нормально, но буквы появляются такие:
Р’РёРґ:водное поло Синтез - ВМФСчёт: 0:0
Р’РёРґ:футбол Терек - Крылья СоветовСчёт: 1:0
Р’РёРґ:футбол Реал Сосьедад - ЭркулесСчёт: 0:0
Р’РёРґ:гандбол Заря Каспия - СКИФСчёт: 13:12
чо делать?:)
Изменить кодировку файла php.
 
менял на ютф-8 , не помогло
 
  • Заблокирован
  • #30
Попробуйте echo '<meta http-equiv="Content-Type" content="text/html; charset=utf-8">';
или так header("Content-Type: content=text/html; charset=utf-8");
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху