LINUX.ORG.RU

прошу совета в разработке парсера


0

1

есть необходимость написать парсер, который будет собирать данные о предприятиях со всяких каталогов и жёлтых страниц. на данный момент парсер пишется (вернее, переписывается с небольшими вариациями) под каждый сайт отдельно, но я бы хотел написать такой универсальный парсер (заточенный под сборку определённого единожды набора данных, в который входят адрес, телефон, название , мыло и т.д.) который бы без переписывания кода подходил бы к большинству сайтов подобной тематики. есть ли какие-то открытые наработки по такому вопросу ?

если у каждого сайта свой движок, то универсальное решение не получится.

anonymous_sapiens ★★★★★
()

а в чём проблема?

shty ★★★★★
()

> есть ли какие-то открытые наработки по такому вопросу ?

есть. perl называется.

arsi ★★★★★
()
Ответ на: комментарий от anonymous

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

к примеру, на одном сайте адрес пишется после слова «адрес :», на другом пишут сразу город улицу и номер дома без слова адрес сразу после названия, примерно то же самое и с телефоном и прочими интересующими деталями.

мыло вытянуть проще всего, но оно есть не везде, и вопрос в том чтоб чётко привязать его к названию предприятия, которое не имеет чётких критериев поиска.

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

Voviandr
() автор топика

Задача сводится к созданию тьюринг-полного DSL, на котором будут запрограммированы шаблоны для выдергивания данных. Поэтому лучше не заниматься созданием велосипеда, а сразу взять Perl, Ruby или что там у вас в наличии и писать шаблоны под каждый сайт как есть. По мере накопления одинаковых фрагментов кода, выносить их в отдельный модуль.

geekless ★★
()
Ответ на: комментарий от tensai_cirno

Имеея поиск по адресной книге можно в ней искать по ключевым словам адресса, если не совпадают, то отбраковывать.

sn1ln
()

Я хотел посоветовать perl, но его уже советовали. Поэтому в качестве альтернативы советую команду китайцев, сутками парсящих веб за миску риса.

DELIRIUM ☆☆☆☆☆
()

> есть ли какие-то открытые наработки по такому вопросу ?

Спроси спаммеров

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.