(осторожно многотекста)
Столкнулся с простой казалось бы задачей:
А) Есть ХХХ ключей
Б) По каждому ключу парсится текст с опред кол-вом символов
Ну и как бы в задаче получается основным моментом нужно так, чтобы результат выводился в виде:
кейворд
текст статьи
разделитель
Как пример, мы тянем тексты для магнитол
есть модель Sony cdx-gt317ee
хотелось бы, чтобы на выходе был ключевик и через \n статьи конкретно под эту магнитолу
sony cdx-gt317ee
статьи для этой магнитолы sony cdx-gt317ee текст текст текст
=== (разделитель)
sony cdx-gt828u
статьи для sony cdx-gt828u
=== (разделитель)
и т.п.
Что успешно делал раньше:
- вытягивал ссылки по списку ключей
- вытягивал контент с сайтов
- регулярка по очистке текста была
TextBlock
(\b[A-ZА-Я](?:\w+[,;:]? ){3,}\w{2,}[.!?])
Но задача оказалась такой, чтобы контент вытягивало не в ссылки, а потом уже парсинг
А чтобы под каждый ключ был конкретный контент с 10 собранных ссылок, например.
=====1=====
Начну с конца
Заметил, что эта регулярка (если попадаются другие языки со словами вида C'onte) - режет первые 2 символа. Кроме того, TextExtractor тянул всё подряд (по ограничению блока), но залетали и футер и меню и прочее, если там был проходивший по правилу контент.
Поискал еще другие советы на форумах и наткнулся на Подскажите парсер текста
Там @Forbidden предложил (на просьбу про длину предложения именно, а не длину блока) фильтр такого вида
[,\w\d]{50,}[!?.]
Я затестил на той же странице https://a-parser.com/threads/1573/
при
[,\w\d]{8,}[!?.]
Сообщение #3 следующего содержания не парсит вообще:
"Спасибо большое! а подскажите пожалуйста, можно ли как то, сделать чтоб текст парсился не весь подряд, а чтобы каждое предложение в тексте было от 50 символов, именно предложение, а не блог текста? а то если ставить блог текста, то он и категории меню парсит с сайтов, а это получается мусор(("
при
[,\w\d]{14,}[!?.]
нет результатов никаких вообще с этой страницы
Почему?
=====2=====
Задача не только парсить линки, а потом контент, а именно спарсить выдачу по ключу, записать ключ, записать контент кот. прошел по параметрам, дальше разделитель между статьями и следующий ключ, следующий контент и разделитель и так по циклу.
Начал копать на форуме, есть JS https://a-parser.com/resources/20/
Но я так понимаю, что регулярку, о кот. написано в п.1 я там применить не смогу?
Т.е. текст залетит как есть, без ограничений с кучей мусора
=====3=====
Каким образом можно научить a-parser игнорировать футер, сайдбары и прочее?
Инструмент мегамощный и я всегда его хвалю и рекомендую всем кого знаю, но с текстами беда прям.
Альтернативные копеечные скрипты делают это на ура, парсят выдачу по ключу, результаты предоставляют в любом виде, причем понимают где футер и не тянут оттуда контент. Т.к. даже если мы ограничим не только по chars, но и по длине предложения (как в п.1), то всё равно много у кого футеры с dmca дисклеймерами, разными описаниями и другим бредом. Отследить нереально
=====4=====
Открыт вопрос также по исключению ресурсов с кот. контент не тянуть (напр: википедия)
Я понимаю, что это можно сделать регуляркой, но если например списком 20-30 ресурсов... ?
Хотелось бы это всё сделать в a-parsere, не прибегая к сторонним софтам.
Но по тексту как-то неопределенно всё
Там где делается это за 3 минуты, в апарсере пол дня пришлось просидеть и результат... его почти нет..
Спасибо.
Столкнулся с простой казалось бы задачей:
А) Есть ХХХ ключей
Б) По каждому ключу парсится текст с опред кол-вом символов
Ну и как бы в задаче получается основным моментом нужно так, чтобы результат выводился в виде:
кейворд
текст статьи
разделитель
Как пример, мы тянем тексты для магнитол
есть модель Sony cdx-gt317ee
хотелось бы, чтобы на выходе был ключевик и через \n статьи конкретно под эту магнитолу
sony cdx-gt317ee
статьи для этой магнитолы sony cdx-gt317ee текст текст текст
=== (разделитель)
sony cdx-gt828u
статьи для sony cdx-gt828u
=== (разделитель)
и т.п.
Что успешно делал раньше:
- вытягивал ссылки по списку ключей
- вытягивал контент с сайтов
- регулярка по очистке текста была
TextBlock
(\b[A-ZА-Я](?:\w+[,;:]? ){3,}\w{2,}[.!?])
Но задача оказалась такой, чтобы контент вытягивало не в ссылки, а потом уже парсинг
А чтобы под каждый ключ был конкретный контент с 10 собранных ссылок, например.
=====1=====
Начну с конца
Заметил, что эта регулярка (если попадаются другие языки со словами вида C'onte) - режет первые 2 символа. Кроме того, TextExtractor тянул всё подряд (по ограничению блока), но залетали и футер и меню и прочее, если там был проходивший по правилу контент.
Поискал еще другие советы на форумах и наткнулся на Подскажите парсер текста
Там @Forbidden предложил (на просьбу про длину предложения именно, а не длину блока) фильтр такого вида
[,\w\d]{50,}[!?.]
Я затестил на той же странице https://a-parser.com/threads/1573/
при
[,\w\d]{8,}[!?.]
Сообщение #3 следующего содержания не парсит вообще:
"Спасибо большое! а подскажите пожалуйста, можно ли как то, сделать чтоб текст парсился не весь подряд, а чтобы каждое предложение в тексте было от 50 символов, именно предложение, а не блог текста? а то если ставить блог текста, то он и категории меню парсит с сайтов, а это получается мусор(("
при
[,\w\d]{14,}[!?.]
нет результатов никаких вообще с этой страницы
Почему?
=====2=====
Задача не только парсить линки, а потом контент, а именно спарсить выдачу по ключу, записать ключ, записать контент кот. прошел по параметрам, дальше разделитель между статьями и следующий ключ, следующий контент и разделитель и так по циклу.
Начал копать на форуме, есть JS https://a-parser.com/resources/20/
Но я так понимаю, что регулярку, о кот. написано в п.1 я там применить не смогу?
Т.е. текст залетит как есть, без ограничений с кучей мусора
=====3=====
Каким образом можно научить a-parser игнорировать футер, сайдбары и прочее?
Инструмент мегамощный и я всегда его хвалю и рекомендую всем кого знаю, но с текстами беда прям.
Альтернативные копеечные скрипты делают это на ура, парсят выдачу по ключу, результаты предоставляют в любом виде, причем понимают где футер и не тянут оттуда контент. Т.к. даже если мы ограничим не только по chars, но и по длине предложения (как в п.1), то всё равно много у кого футеры с dmca дисклеймерами, разными описаниями и другим бредом. Отследить нереально
=====4=====
Открыт вопрос также по исключению ресурсов с кот. контент не тянуть (напр: википедия)
Я понимаю, что это можно сделать регуляркой, но если например списком 20-30 ресурсов... ?
Хотелось бы это всё сделать в a-parsere, не прибегая к сторонним софтам.
Но по тексту как-то неопределенно всё
Там где делается это за 3 минуты, в апарсере пол дня пришлось просидеть и результат... его почти нет..
Спасибо.