вот код,в чем может быть ошибка?
<?php
//Настройки парсера
//URL для парсинга контента
$url = 'http://phpforum.ru/index.php';
//Стартовый тег для парсинга контента
//тег который стоит перед началом нужного участка кода для парсинга
//и используется 1 раз
$start = '<html>';
//Конечный тег участка кода для парсинга
//Тег который стоит после нужного участка который будем парсить
$finish = '</html>';
//Создаём функцию парсера
function parser($url,$start,$finish) {
//Получаем весь код страницы
$content = file_get_contents($url);
//Ищем позицию с которой мы будем вырезать код для дальнейшего использования
$position = strpos($content, $start);
//Вырезаем нужный блок
$content = substr($content, $position);
$position = strpos($content, $finish);
//Вырезаем код
$content = substr($content, 0, $position);
//Вырезаем HTML теги
//Для добавления\удаления используемых тегов допишите\удалите теги
$content = strip_tags($content, '<p><a>');
//Debug (Проверка того, что выводит парсер)
//echo nl2br($content);
//Открываем файл для чтения и перезаписи
$fp = fopen('article.txt', 'write');
//Записываем код в файл
fwrite($fp, nl2br($content));
//Закрываем файл
fclose($fp);
//Возвращаем напарсеный контент
return $content;
}
//Вызываем функцию парсинга
parser($url, $start, $finish);
?>
Спустя 30 минут, 29 секунд (22.07.2011 - 05:32) bulgakov написал(а):
Ошибки в коде тут нет но есть - fwrite($fp, nl2br($content)); которая заменяет \n на <br /> которые у вас записываются в конечный файл, а еще не пойму смысл парсера, тупо извлекать весь текст?
Спустя 7 минут, 52 секунды (22.07.2011 - 05:40) Эли4ка написал(а):
bulgakov
да,может подредактируешь..мне надо чтобы вырезало весь код страницы..а?поможешь?
да,может подредактируешь..мне надо чтобы вырезало весь код страницы..а?поможешь?
Спустя 2 минуты, 57 секунд (22.07.2011 - 05:43) bulgakov написал(а):
Если вы замените,fwrite($fp, nl2br($content)); на fwrite($fp, html_entity_decode($content)); то возможно получите нужный вам результат.
Спустя 58 секунд (22.07.2011 - 05:44) Эли4ка написал(а):
спасибо..сейчас попробую..
Спустя 22 секунды (22.07.2011 - 05:44) bulgakov написал(а):
<?php
//Настройки парсера
//URL для парсинга контента
$url = 'http://phpforum.ru/index.php';
//Стартовый тег для парсинга контента
//тег который стоит перед началом нужного участка кода для парсинга
//и используется 1 раз
$start = '<html>';
//Конечный тег участка кода для парсинга
//Тег который стоит после нужного участка который будем парсить
$finish = '</html>';
//Создаём функцию парсера
function parser($url,$start,$finish) {
//Получаем весь код страницы
$content = file_get_contents($url);
//Ищем позицию с которой мы будем вырезать код для дальнейшего использования
$position = strpos($content, $start);
//Вырезаем нужный блок
$content = substr($content, $position);
$position = strpos($content, $finish);
//Вырезаем код
$content = substr($content, 0, $position);
//Вырезаем HTML теги
//Для добавления\удаления используемых тегов допишите\удалите теги
$content = strip_tags($content, '<p><a>');
//Debug (Проверка того, что выводит парсер)
//echo nl2br($content);
//Открываем файл для чтения и перезаписи
$fp = fopen('article.txt', 'write');
//Записываем код в файл
fwrite($fp, html_entity_decode($content));
//Закрываем файл
fclose($fp);
//Возвращаем напарсеный контент
return $content;
}
//Вызываем функцию парсинга
parser($url, $start, $finish);
?>
Держи
Спустя 4 минуты, 52 секунды (22.07.2011 - 05:49) Эли4ка написал(а):
не,все-равно криво обрабатывает..не так как надо..но спасибо за помощь..будем ждать специалистов..может они чем помогут..
Спустя 4 минуты, 9 секунд (22.07.2011 - 05:53) bulgakov написал(а):
Криво это как? ты имееш ввиду лишние пробелы и переводы строк?
Спустя 3 минуты, 37 секунд (22.07.2011 - 05:57) Эли4ка написал(а):
да и плюс часть кода нет вообще...
Спустя 4 минуты, 16 секунд (22.07.2011 - 06:01) bulgakov написал(а):
Часть кода это все html тэги включая ссылки, ссылки можно вернуть, ты скажи что точно нужно?
Спустя 3 минуты, 8 секунд (22.07.2011 - 06:04) Эли4ка написал(а):
полностью код страницы,с ссылками,коментариями,со всеми тегами..и вообще полную страницу но в ХТМЛ-коде..теперь понятно?
Спустя 5 минут, 23 секунды (22.07.2011 - 06:10) Эли4ка написал(а):
чтобы я не просматривала миллионы страниц а делал это робот..понятно?
Спустя 37 секунд (22.07.2011 - 06:10) bulgakov написал(а):
Понятно тогда еще проще, щас.
Спустя 2 минуты, 51 секунда (22.07.2011 - 06:13) bulgakov написал(а):
<?php
//Настройки парсера
//URL для парсинга контента
$url = 'http://phpforum.ru/index.php';
//Стартовый тег для парсинга контента
//тег который стоит перед началом нужного участка кода для парсинга
//и используется 1 раз
$start = '<html>';
//Конечный тег участка кода для парсинга
//Тег который стоит после нужного участка который будем парсить
$finish = '</html>';
//Создаём функцию парсера
function parser($url,$start,$finish) {
//Получаем весь код страницы
$content = file_get_contents($url);
//Ищем позицию с которой мы будем вырезать код для дальнейшего использования
$position = strpos($content, $start);
//Вырезаем нужный блок
$content = substr($content, $position);
$position = strpos($content, $finish);
//Вырезаем код
$content = substr($content, 0, $position);
//Вырезаем HTML теги
//Для добавления\удаления используемых тегов допишите\удалите теги
$content = trim($content);
//Debug (Проверка того, что выводит парсер)
//echo nl2br($content);
//Открываем файл для чтения и перезаписи
$fp = fopen('article.txt', 'w');
//Записываем код в файл
fwrite($fp, $content);
//Закрываем файл
fclose($fp);
//Возвращаем напарсеный контент
return $content;
}
//Вызываем функцию парсинга
parser($url, $start, $finish);
?>
Спустя 3 минуты, 30 секунд (22.07.2011 - 06:17) bulgakov написал(а):
А вот вообще простой вариант) Делает то же самое только в три строки)
$url = 'http://phpforum.ru/index.php';
$content = file_get_contents($url);
file_put_contents('file_content.txt', $content, FILE_APPEND);
Спустя 1 минута, 11 секунд (22.07.2011 - 06:18) bulgakov написал(а):
Это получается тупо граббинг страниц, тебе тут никакой парсер не нужен, парсер был бы нужен если бы тебе какой то определенный контент со страницы нужен был бы
Спустя 54 секунды (22.07.2011 - 06:19) Эли4ка написал(а):
спс..но в первом примере закрывающий </html> не забирает..спасибо за помощь..плюс позже кину..
Спустя 59 секунд (22.07.2011 - 06:20) bulgakov написал(а):
Эли4ка
Во втором примере забирает, а вот сохранение html файла:
Спустя 30 секунд bulgakov написал(а):
В данном случае сохраняется полностью все, кроме картинок, но картинки тоже можно сохранить просто мне на работу уже бечь)
Спустя 12 минут, 35 секунд bulgakov написал(а):
Еще можно это сделать функцией и вызывать в цикле перебирая массив ссылок и сохраняя их отдельно в каждый файл с названием ссылки, но опять же уже на работу убегаю, ты поспрашивай тут пока народ)
Во втором примере забирает, а вот сохранение html файла:
<?php
$url = 'http://phpforum.ru/index.php';
$content = file_get_contents($url);
file_put_contents('file_content.html', $content, FILE_APPEND);
?>
Спустя 30 секунд bulgakov написал(а):
В данном случае сохраняется полностью все, кроме картинок, но картинки тоже можно сохранить просто мне на работу уже бечь)
Спустя 12 минут, 35 секунд bulgakov написал(а):
Еще можно это сделать функцией и вызывать в цикле перебирая массив ссылок и сохраняя их отдельно в каждый файл с названием ссылки, но опять же уже на работу убегаю, ты поспрашивай тут пока народ)
Спустя 4 часа, 23 минуты, 1 секунда (22.07.2011 - 10:43) Эли4ка написал(а):
хорошо..спасибо..
Спустя 21 минута, 7 секунд Эли4ка написал(а):
слушай,а как сделать чтобы и стили сохранялись,и картинки?
Спустя 21 минута, 7 секунд Эли4ка написал(а):
слушай,а как сделать чтобы и стили сохранялись,и картинки?
Спустя 48 минут (22.07.2011 - 11:31) quickxyan написал(а):
ну тут надо как он сказал. перебрать массив ссылок и стянуть стили через тот же file_get_contetnts()
а вот с картинками хз.
а вот с картинками хз.
Спустя 1 час, 20 минут, 2 секунды (22.07.2011 - 12:51) Эли4ка написал(а):
quickxyan
с картинками пример есть..слушай помоги сделать так чтобы все ссылки записывались и стили скачивались..пожалуйста..
с картинками пример есть..слушай помоги сделать так чтобы все ссылки записывались и стили скачивались..пожалуйста..

Спустя 2 часа, 55 минут, 19 секунд (22.07.2011 - 15:46) bulgakov написал(а):
Эли4ка
Тебе срочно? я скоро домой приду, попробую.
Спустя 4 минуты, 32 секунды bulgakov написал(а):
Вообще если стили искать то наверное можно через simple xml получать значение атрибута href тэга link и передавать это значение file_get_contents и потом через file_put_contents сохранять, так же с картинками.
Спустя 5 минут, 12 секунд bulgakov написал(а):
А так вообще незнаю насколько правильно парсить simplexml html, верстки то разные попадаются... но можно поробовать.
Тебе срочно? я скоро домой приду, попробую.
Спустя 4 минуты, 32 секунды bulgakov написал(а):
Вообще если стили искать то наверное можно через simple xml получать значение атрибута href тэга link и передавать это значение file_get_contents и потом через file_put_contents сохранять, так же с картинками.
Спустя 5 минут, 12 секунд bulgakov написал(а):
А так вообще незнаю насколько правильно парсить simplexml html, верстки то разные попадаются... но можно поробовать.
Спустя 14 часов, 13 минут, 55 секунд (23.07.2011 - 06:00) Эли4ка написал(а):
bulgakov
так загонишь или нет?..и слушай как мне сделать чтобы разные страницы(я чуть переделала с возможностью выбора скачиваемой страницы) сохранялись в разные документы?типа файл создавался из случайного массива букв и цифр..?
так загонишь или нет?..и слушай как мне сделать чтобы разные страницы(я чуть переделала с возможностью выбора скачиваемой страницы) сохранялись в разные документы?типа файл создавался из случайного массива букв и цифр..?