Метка «парсинг» - 2

Приветствую.

В работу поступила одна задача которая показалась мне интересной. Хотел бы поделиться решением с Хабросообществом.

Задача

Существует скрипт который автоматически подключается к каждой посещаемой пользователем странице, задача скрипта опустить весь контент страницы на N пикселей для отрисовки баннера в верхней части страницы. Основные требования были что бы скрипт был един для всех браузеров, а так же что бы верстка не ломалась. Ниже приведу сам скрипт, и некоторые умозаключения. Если интересно — добро пожаловать под кат.
Читать полностью »

Недавно мне потребовалось сделать небольшой парсер на php для интернет-магазина. Я не стал изобретать велосипед и взял стандартную библиотеку. Но тут наткнулся на неожиданную проблему — библиотека парсит только правильно сверстанные сайты. Мой таким не был. Выходом из этой проблемы оказалось использование ещё более громоздких библиотек в которых сам черт ногу сломит. Я бросил это дело и решил парсить обычными регулярными выражениями. Всё шло хорошо когда парсились простые строки вроде цены и заголовков, но как дело дошло до средних размеров текста в котором встречаются теги br, stong и другие появились сложности. Читать полностью »

С чего началась эта история: однажды перестала работать синхронизация между двумя серверами. На одном из серверов (под управлением Windows) в расшаренной папке лежали документы, а на втором (под управлением Debian) был поднят апач с webdav. В папке на первом сервере было несколько подпапок. В одной лежали документы, а в остальных были сделаны ярлыки на документы, таким образом документы были рассортированы по подпапкам. И содержимое папки на первом сервере синхронизировалось с папкой на втором сервере следующим образом: копировалось содержимое папки, а затем ярлыки заменялись на файлы, на которые они указывали. То есть, если ярлык, к примеру, указывал на документ corporate-template-65178.doc, то ярлык удалялся, а на его место помещался этот самый corporate-template-65178.doc

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

Если еще интересно, вэлкам под кат.
Читать полностью »

Реализация алгоритма сортировочной станции на Java У меня возникла необходимость вычислять в Java-приложении значения формул, вводимых пользователями (да еще и так, чтобы приложение понимало комплексные числа). Внимание сразу привлекла библиотека Jep, но ввиду определенных ограничений использовать ее не представилось возможным. Поэтому я решил написать свой парсер, используя Алгоритм Дейкстры для преобразования входной записи из инфиксной нотации в постфиксную, также известный, как Алгоритм сортировочной станции. Он довольно прост, но в то же время элегантен, и я получил удовольствие, реализовывая его. Заинтересовавшихся — прошу под кат.

Читать полностью »

Я ранее уже рассказывал на хабре о Grab — библиотеке для парсинга сайтов и о Spider — асинхронном модуле для парсинга. Рад сообщить, что я наконец-то дописал документацию по Grab. Я решил писать всё на русском языке т.к. на английском языке мне труднее выражать мысли. На деле писанины получилось гораздо больше, чем представлялось в начале, но я таки описал практически все функции библиотеки. Я решил просто вставить сюда, оглавление, кликайте на интересный раздел и читайте о возможностях Grab:


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js