Вы не зашли.
Главная » PHP » учимся писать грабб
#21. Gemorroj Off (107)
Administrator
2011.05.12 18:06
Код:
span style="color: #0000BB"><?php$xml = new SimpleXMLElement('http://wapinet.ru/', null, true);echo $xml->body[0]->asXML();
#22. TLENS Off (14)
Moderator
2011.05.12 19:07
А хотя и сейчас познакомимся с ними.
вообщем даю кусочек кода он будет у тебя шаблоном пожже будешь писать боле быстрые регулярки.
например нам надо вырезать неизвесный текст
мы берем текст начало и конец извесного.
вырезать заголовки html начиная с <head> и заканчивая </head>
будешь использовать preg_replace
Код:
lt;?$f = preg_replace('/<head>.*?<\/head>/s','',$f);
где .*? это неизвесный текст
Наверное заметил я поставил обратный слеш \ перед слешем
Это для того чтобы заэкранировать спец символ /
спец символы это те символы которые использует выражения
их много приведу популярные \^ $ . [ ] | ( ) ? * + { } / ^
их надо экранировать в нашем случае.
например если нам надо вырезать ссылку с неизвесным текстом тот что меняется скриптом
допустим <a href="http://wapinet.ru/ne_izvesnuy_text">ne_izvesnuy_text</a>
чтобы вырезать такую ссылку надо применить preg_replace('/<a href="http:\/\/wapinet\.ru\/.*?">.*?<\/a>/s','',$f);
Добавлено спустя   4 минуты  8 секунд:
Gemorroj написал:
Код:
span style="color: #0000BB"><?php$xml = new SimpleXMLElement('http://wapinet.ru/', null, true);echo $xml->body[0]->asXML();
Ну можно и так хотя я ниразу так не делал.
Я воще последнее время все по масивам расбиваю и выводится как свой а вообще если чесно то все по базам пару последних скриптов
#23. DarkRiDDeR Off (4)
Участник
2011.05.13 16:04
TLENS, можно вырезать и без регулярок, что я выше написал. Подсказка: массивы
#24. poisen Off (0)
Участник
2011.05.24 23:11
Хороший пример! И главное я вкуриваю потихоньку smile . А как будет выризатся поле с отображением линка до файла?
#25. DarkRiDDeR Off (4)
Участник
2011.05.27 15:03
Есть <a href="http://wapinet.ru/ne_izvesnuy_text">ne_izvesnuy_text</a>
Вырезаем (если правильно понял):
Код:
preg_replace('#(<a href=")http:\/\/wapinet\.ru\/(.*?">.*?<\/a>)#is', '$0', $f); //Останется <a href="ne_izvesnuy_text">ne_izvesnuy_text</a>
Можно вырезать и по другому, много способом. Ну пока ладно. Короче, что в скобках, сравни с предыдущим примером, как бы сохраняется в переменных по очереди. $1 - <a href=", $2 - .*?">.*?<\/a>. $0 - это всё сохранённое, а именно: <a href=".*?">.*?<\/a>
#26. poisen Off (0)
Участник
2011.05.29 09:09
Ага... Так сейчас попробую .
#27. poisen Off (0)
Участник
2011.05.29 12:12
http://fank.ru/foto/category/s/13/
вот что выходит
http://xmxx.ru/video2/video4/
выризал что смог
как правельно исправить чтобы перети к фото и вырезать альбомы
$inf = str_replace('<a href="/foto/data/s/">[v]</a>','<a href="http://fank.ru/foto/s/">Смотреть</a>',$inf);
$inf = str_replace('/<a href="http:\/\/fank\.ru\/foto\/album\/u\/.*?">.*?<\/a>/s','',$inf);

а в целом вот
Код:
span style="color: #0000BB"><?php//ob_start(); // включаем буферизацию$conn = curl_init(); // создаём новое curl подключениеcurl_setopt($conn, CURLOPT_URL, "http://fank.ru/foto/category/s/13/?".$_SERVER['QUERY_STRING']); // подключаемся по по ссылкеcurl_setopt($conn, CURLOPT_RETURNTRANSFER, 1); // возвращаем полученные данные в ссылку (не печатаем)curl_setopt($conn, CURLOPT_USERAGENT, "Nokia2630/2.0 (04.90) Profile/MIDP-2.1 Configuration/CLDC-1.1"); // маскеруемся под юзер-агент$inf = curl_exec($conn); // получаем данные в переменную $infcurl_close($conn); // закрываем соединение$inf = preg_replace('~<\?xml version=(.+)<body>~is', '', $inf); // убираем шапку документа$inf = preg_replace('~<div class="header"><a href="http://fank.ru/"><img src="http://i.fank.ru/i/d0/ru/logo_foto.gif" width="120" height="34" alt="" /></a></div>~isu', '', $inf);$inf = preg_replace('~<div class="body">Language: <img src="http://i.fank.ru/i/d0/flag_en.gif" alt="" /> <a href="http://fank.mobi/">en</a> | <img src="http://i.fank.ru/i/d0/flag_ru.gif" alt="" /> ru*<br/></div>~isu', '', $inf);$inf = str_replace('<a href="http://waplog.net/ru/c.shtml?13"><img src="http://c.waplog.net/ru/13.cnt" alt="waplog"/></a>', '', $inf);$inf = preg_replace('|<div class="downban">(.*?)</div>|is','</div>',$inf);$inf = str_replace('<img src="/f/', '<img src="http://f1.fank.ru/f/', $inf); // исправляем ссылку на скриншот$inf = str_replace('<a href="/foto/data/s/">[v]</a>','<a href="http://fank.ru/foto/s/">Смотреть</a>',$inf);$inf = str_replace('<a href="/foto/data/s/', '<a href="http://fank.ru/foto/data/s/', $inf);$inf = str_replace('/<a href="http:\/\/fank\.ru\/foto\/album\/u\/.*?">.*?<\/a>/s','',$inf);$inf = str_replace('<a href="/foto/category/s/13/', '<a href="http://fank.ru/foto/category/s/13/', $inf);$inf = str_replace('<div class="box">', '<div class="ok">', $inf); // изменяем под стили блок$inf = str_replace('<div class="m">', '<div class="main">', $inf); // изменяем под стили блокinclude '../header.php'; // подключаем шапку документаecho $inf; // выводим на печать отредактированные данныеinclude '../footer.php'; // подключаем низ документа?>
Отредактировано poisen (2011.05.29 12:12)
#28. Swinger Off (1)
Участник
2011.05.30 17:05
preg_match('#<body>(.*?)</body>#si', file_get_contents('http://wapinet.ru/'), $body);
echo $body[1]; // выведет все, что находится между тегами body
и ненад вырезать всякие тэги
#29. N1ck Off (0)
Участник
2011.10.27 20:08
<!--LiveInternet logo--><a href="http://www.liveinternet.ru/ click" 43. target="_blank"><img src="// counter.yadro.ru/logo?26.10" 44. title="LiveInternet: показано число посетителей за сегодня" 45. alt="" border="0" width="88" height="15"/></a><!--/ LiveInternet-->  как ето вирежат в грабере?
Я маргал 'сука' , не качай головой!
#30. tipsun Off (19)
Moderator
2011.10.29 21:09
DarkRiDDeR написал:
Кажись я не в темку попал, извенясь, smile.
Ладн, моя задач:
обрезать всё до тега <body> включительно. Ведь зачем нам чужие заголовки и мета-теги, и т.п.? Ну и напоследок тег </bodу> нейтрализовать. Не будет же он болтаться на морде, как кусок ненужной кожи.
Код:
span style="color: #0000BB"><?php$array = explode('<body>', $html); //не помню включительно или нет.$body = str_replace('</body>', null, $array[1]); //если надо, хотя зачем? Обычно же бывает </body></html>?>
Swinger написал:
preg_match('#<body>(.*?)</body>#si', file_get_contents('http://wapinet.ru/'), $body);
echo $body[1]; // выведет все, что находится между тегами body
и ненад вырезать всякие тэги
True вариант smile
Надо еще Геморроя вариант посмотреть, как он работает.
Отредактировано tipsun (2011.10.29 21:09)
Страниц: 1 2 3 4 5 6 Все
Главная
WEB
PunBB Mod v0.6.2
0.016 s