Парсер бредотекста на PHP
Нужен парсер текста на php.
1). Задаём список урлов страниц.
Задаваться он может списком в textarea или грузиться из указанного текстового файла.
1.1). Задаём минимальную длину предложений.
1.2). Задаём выходной txt файл.
2). Тянем первую страницу из списка через file_get_contents() или сurl (предпочтительнее).
3). Используя эту открытую либу http://forum.dklab.ru/viewtopic.php?t=19849 вычищаем АБСОЛЮТНО всё, кроме текста.
Основная задача доработать эту библиотеку. Если найдёте, что-то более продвинутое - пожалуйста.
Поясню. Текст в моём понимании - это набор предложений, которые начинаются с прописной буквы,
и заканчиваются исключительно точкой. Если в исходном тексте попадаются предложения, которые заканчиваются вопросительным или восклицательным знаком, заменяем их на точки.
При этом каждое предложение должно быть не короче, чем указано в пункте 1.1.
Меня устроит, если длину считаем тупо через str_word_count().
Если предложение - часть диалога, вырезаем и начальные тире.
Никакого html и прочего форматирования.
Впрочем, в выходном файле, текст должен быть сплошным, а не обрываться на середине предложения переносом на следующую строку.
Между словами в предложениях и самими предложениями - строго один пробел.
Смысл текста может быть (и будет) потерян, но это абсолютно не важно.
То что напарсили, записываем в файл. Помним про кодировки! Помним об оперативке!!!
Страница с текстом может быть большая (например http://lib.ru/DETEKTIWY/DESTROER/dest02.txt).
Лучше тащите и обрабатывайте по кусочку.
4). Тянем следующую страницу и повторяем третий пункт до победного конца.
5). Теперь фишки и мои капризы.
Скрипт во время работы может остановиться. Там не хватило ресурсов сервера, или вылетело соединение с сетью на локалхосте. Поэтому текущую позицию парсинга (на каком именно ресурсе сейчас идёт работа), записываем во временный файлик. Чтобы при последующем запуске скрипта, продолжать с последнего момента.
Исходя из этого, хорошо бы сделать расписание заданий.
Т.е заполняем данные из пункта 1, и сохраняем. Это одно задание. Заполнинили и сохранили ещё раз - это второе.
При нажатии кнопки запуска, начинаем выполнять первое задание. Закончили - следующее. И так до пока задания не закончатся.
Ну и во время работы скрипта, я должен визуально контролировать ход выполнения (сколько уже напарсили,
сколько осталось, количество заданий и т.д)
Требования к исполнителю:
Обязательно наличие аськи. Лучше уточнить у меня неясности в процессе, чем править готовый скрипт.
Обязательно знание ООП. (Либа написана с использованием оного).
Если вы не уверены в своих силах, и задание хотите взять только для тренировки - проходите мимо.
Быдлокодить я и сам умею ;)
Цену сильно не ломить, я имею представление о стоимости подобных услуг.
Оплата:
Строго в WM.
Цену устанавливаем в WMZ, но оплачивать я могу в WMZ или в WMR (по курсу на момент оплаты) по своему усмотрению.
Оплата по факту - на моей стороне всё заработало, как и требовалось.
Впрочем, если у вас куча положительных отзывов по серьёзным работам, могу сделать предоплату. Обсуждаемо в аське.
В аську мне не ломиться, сегодня-завтра выберу интересные предложения и обращусь сам.