Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум Регулярные Выражения

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: новости для чайника
 
 автор: fil   (28.10.2007 в 09:15)   письмо автору
 
 

привет всем жителям форума.я начал делать сайт,но грабить не умею помогите пожалуйста сграбить новости с этих сайтов без рисунков.Я же знаю что кроме вас мне никто не поможет.вот ссылки http://www.realmadridsite.com/secciones/principal.htm вот еще http://www.realmadrid.dk/ я был бы вам очень признателен.Заранее спасибо

   
 
 автор: EXP   (28.10.2007 в 19:04)   письмо автору
 
   для: fil   (28.10.2007 в 09:15)
 

вобщем делается так :)
заполучается их страничка к себе в переменную, например так :

<?
$stranichka 
file_get_contents('http://www.realmadridsite.com/secciones/principal.htm');

и потом можено сделать всеми подручными способами всё что почти можно сделать с этой кучей символов ,)
вот кусочек:
<!-- inicio calendario -->

<div id="cabeceracalendario"><h2 id="calendario">Calendario Real Madrid</h2></div>
<div id="calendario">
<div id="calendario_lfp"><a href="resultados_liga.htm"><img src="../recursos/imagenes/iconos/calendario_lfp.gif" alt="Liga Nacional de Primera Divisi&oacute;n" width="50" height="50" border="0" class="flotarizquierda2" /></a><br />
<span class="textoazul2"><a href="resultados_liga.htm">1&ordf; Divisi&oacute;n - 9&ordm; Jornada</a></span><br />
28/10 - Real Madrid vs Deportivo </div>

<div id="calendario_champions"><a href="resultados_champions.htm"><img src="../recursos/imagenes/iconos/calendario_champions.gif" alt="Uefa Champions League" width="50" height="50" border="0" class="flotarizquierda2" /></a><br />
<span class="textoazul2"><a href="resultados_champions.htm">UEFA - Champions League</a></span><br />
06/11 - Olympiakos vs Real Madrid </div>

<div id="calendario_coparey"><a href="resultados_coparey.htm"><img src="../recursos/imagenes/iconos/calendario_coparey.gif" alt="Copa del Rey" width="50" height="50" border="0" class="flotarizquierda2" /></a><br />
<span class="textoazul2"><a href="resultados_coparey.htm">Copa de su Majestad el Rey</a></span><br />
14/11 - Alicante CF - Real Madrid</div>

<div id="calendario_entrenamiento"><a href="champions_jornada3_olympiacos.htm"><img src="../recursos/imagenes/iconos/calendario_entrenamiento.gif" alt="&Uacute;ltimo partido" width="50" height="50" border="0" class="flotarizquierda2" /></a><br />
<span class="textoverde">&Uacute;ltimo partido</span> - <a href="champions_jornada3_olympiacos.htm">ver cr&oacute;nica</a><br />
24/10 - Real Madrid vs Olympiacos </div>


</div>
<div id="boxdown40pequeno_oscuro"></div>

<!-- fin calendario -->

<!-- inicio acceso foro-->
<div id="cabecera_acceso_foro"><h2 id="accesoforo">Acceso al foro Realmadrid Site</h2></div>
<div id="acceso_foro">
<iframe src="http://www.realmadridsite.com/conexion_foro.php"
width="236" height="112" scrolling="auto" frameborder="0" marginheight="0" marginwidth="0" title="archivonoticias">
Tu navegador no soporta Iframes, actualizate. El equipo de Realmadrid Site.com
</iframe>
</div>
<div id="boxdown4Apequeno_oscuro"></div>

<!-- fin acceso foro-->

</div>
</div>

<!-- Inicio camunidad madridista -->
<div id="cabecercomunidadmadridista"><h2 id="comunidad">Comunidad Madridista</h2></div>
<div id="comunidad_madridista">
<div id="comunidad">

<div id="comunidad_foro">
<div id="comunidad_foto"><a href="http://www.realmadridsite.com/foros" target="_blank"><img src="../recursos/imagenes/iconos/icono_foro_principal.gif" alt="Debate con madridistas como t&uacute; sobre el Real Madrid" width="60" height="54" border="0" /></a></div>
<div id="comunidad_titular"><a href="http://www.realmadridsite.com/foros" target="_blank">Foro Realmadrid Site</a></div>
<div id="comunidad_texto">Todo lo que debes comentar sobre el Real Madrid</div>
</div>

<div id="comunidad_partners">
<div id="comunidad_foto"><a href="#"><img src="../recursos/imagenes/iconos/icono_partners_principal.gif" alt="Intercambio de banners" width="60" height="54" border="0" /></a></div>
<div id="comunidad_titular"><a href="partners.htm">Partners</a></div>
<div id="comunidad_texto">Intercambia banners con nosotros!</div>
</div>

<div id="comunidad_entradas">
<div id="comunidad_foto"><a href="http://www.serviticket.com/servlet/serviticket.sis.servlets.hSrvServiticketNWS?SERVICE=VENDA&amp;RECINTO=5500&amp;CODIUSU=P030RM03&amp;IDIOMA=CAS" target="_blank"><img src="../recursos/imagenes/iconos/icono_entradas_principal.gif" alt="Venta Oficial de entradas" border="0" /></a></div>
<div id="comunidad_titular"><a href="http://www.serviticket.com/servlet/serviticket.sis.servlets.hSrvServiticketNWS?SERVICE=VENDA&amp;RECINTO=5500&amp;CODIUSU=P030RM03&amp;IDIOMA=CAS" target="_blank">Entradas Real Madrid</a></div>
<div id="comunidad_texto">Saca tus entradas para acudir al Santiago Bernab&#233;u</div>
</div>

<div id="comunidad_chat">
<div id="comunidad_foto"><a href="#"><img src="../recursos/imagenes/iconos/icono_chat_principal.gif" alt="Chat Realmadrid Site.com" width="60" height="54" border="0" /></a></div>
<div id="comunidad_titular"><a href="chat.htm">Chat Realmadrid Site</a></div>
<div id="comunidad_texto">Habla con madridistas de todo el mundo</div>
</div>

</div>

<!--inicio encuesta-->

не знаю как по испански новости будет , поэтому ничего не понял чего там у них :)

например вам нужно только то что между <!-- inicio calendario --> и <!--inicio encuesta-->
значит можно на этом строить регулярное выражение цепляясь за эти два кусочка кода, но если вы используете перед этим
strip_tags($stranichka, '<div>');
то тогда там останутся только <div>....</div>
и может так и просще будет выделить только то что нужно вам.
и остаётся научиться обращаться я парочкой функций типа preg_replace, preg_match_all, ....
и почитать про то какие символы чего обозначают в регулярных выражениях,
посидеть ночь другую мучая код всего из двух строчек
и у вас легко получится ограбить у испанцев самое ценное )
но лучше предварительно сохранить весь их код страницы, положить её файликом в папку /test/
рядом с index.php который и будет всё это делать, и спокойно на ней тренироваться.
и даже вообще начать с какого-нибудь их вап-сайта :)
наверное здесь вряд-ли кто-то сделает всё за вас просто так, учитесь , пробуйте , читайте вопросы по теме,
поиск по форуму превосходит часто самого "Гугля" колличеством результатов :)

   
 
 автор: fil   (28.10.2007 в 19:25)   письмо автору
 
   для: EXP   (28.10.2007 в 19:04)
 

а я бы смог научиться грабить новости с помощью примера сграбь пожалуйста новости сэтого сайта http://www.championat.ru/football/_spain.html я бы на этом примере потренеровался бы.

   
 
 автор: EXP   (28.10.2007 в 23:04)   письмо автору
 
   для: fil   (28.10.2007 в 19:25)
 

сразу скажу сделал без особой тщательности, работать будет до первой изменнённой ковычки на сайте, непредусмотренна реакция на ввод номера новости которого там нет,
и называться должен index.php

<html>
<head>
<title>Лента новостей - Чемпионат.ру</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
</head>
<body>
<?php

$page 
= (isset($_GET['page'])) ? (int) $_GET['page'] : ;
if (
$page || $page 100 $page ;
$new = (isset($_GET['new'])) ? (int) $_GET['new'] : ;
if (
$new $new ;
if (
$new) {
    
$pattern "#.*<index>(.+)</index>(.*?)#sU" ;
    
$link 'http://www.championat.ru/football/news-' $new '.html' ;
} else {
    
$pattern "#.*(<table width=100% border=0 cellspacing=0 cellpadding=4 align=center>.+</table>)+(.*?)#sU" ;
    
$link 'http://www.championat.ru/football/news/' $page '.html' ;
}
$text file_get_contents($link) ;
$text preg_replace($pattern'$1'$text) ;
if (!
$new) echo $text preg_replace(array('#\<a href=\'/football/news\-(\d+)[^\d\']+\'[^\>]*\>([^\<]+)\</a\>#s''#\<a href=\"/football/news/(\d+)[^\d\']+\"[^\>]*\>([^\<]+)\</a\>#s'), array('<a href=\'./?page=' .$page '&amp;new=$1\'>$2\</a>''<a href=\'./?page=$1\'>$2</a>'), $text) ;
else echo 
$text;

?>
<br>Источник: <a href='http://www.championat.ru' >"Чемпионат.ру"</a>
</body></html>
чисто в целях ознакомления

   
 
 автор: fil   (29.10.2007 в 10:33)   письмо автору
 
   для: EXP   (28.10.2007 в 19:04)
 

спасибо за советы.

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования