ПредишенСледващото

Четливост собствените си ръце
Тъй като спечели Великата китайска Roskomnadzor нашите неща да заобиколят блокажи в интернет все още не е особено грамотен, и да ни кажете нещо странно за работата си все пак искате да ни кажете за reimplementatsiyu подобен на четливост алгоритъм, използващ Node.js и Beytszinskogo технологичен институт.

Какво е всичко това

Отклонение за парсъри


Основната характеристика на сайтовете за синтактичен анализ или други недобре структурирани формати - е размерът на знания за конкретни случаи, формата, използван в дивата природа.

А изроден случай на притежание на цялото знание - е синтактичен анализ на един сайт. Т.е. ако искаме да крадат статии Habrahabr, например, за да се отпечатат през нощта на мастилено-струен принтер и жертва на Сатаната - ние можем да погледнем в съществуващото оформление и е лесно да се определи, че заглавието на публикацията е h1.title.

Програмата е написана по такъв начин, ще бъде почти никакви грешки; за всеки отделен сайт Habrahabr трябва да напише нова програма.

Дегенеративна идеален случай: парсера не знае, той има данни във всякакъв формат. Пример за такава програма, - струни (съществува в повечето операционни системи не са игрални).

Ако приложите струните, на които е предназначен нещо за четене на файла, можете да получите списък с всичко, което е подобно на текста в рамките на файла. Например, команда за печат за форматиране наколни редове в рамките на двоични LS. и сертификат.
Колкото по-малко знания, толкова по-универсален синтактичен анализ.

Това вече имат

Текуща версия на четливост затворен и висеше с разнообразие от търсенето кифлички. Има API.

Има една вилица на първата версия на четливост компания Apple (Reader функция в Safari). Изходният код не е много отворен, но го погледнете това е възможно, там е още по-регулярни изрази и специални случаи (например, има променлива - isWordPressSite).

Проблеми на оригиналния сценарий - сложността на промяната, аркадна евристични методи. По принцип тя работи, но това изисква нетривиален довършителни файл. Версия Apple е лицензиран и не е ясно.

Какво да пиша


За синтактичен анализ сайтове с минимално познаване на маркиране. Input - една страница на сайта, или фрагмент на страница. Резултатът - на текстово представяне на входните данни.

Важен критерий - универсалност: програмата ще работи както на клиента и сървъра. Така че ние не се привързват към съществуващите реализации на DOM, и да изгради своя структура на данните (тя също така работи по-бързо от DOM пълен, тъй като данните трябва да gulkin, например, на носа).

Поради тази причина, програмата няма да бъде в състояние да изтеглите собствените си страници от Интернет, резултати магазин на диска, има потребителски интерфейс, крос шевове.

Животът и приключенията на алгоритъма


Търсачката намерих няколко статии по темата на алгоритмичен процес, описан по-горе. Най-вече ми хареса китайците тук PDF формат.

Формула да получа малко повече, така че ще говоря за кратко, за да му версия на китайски алгоритъм.

Достатъчно място за трудови подвизи

Само в случай, че все още се провери, че след премахването на оценката на отломки от родителя увеличава, ако не и (или нарасна незначително) - Аз не изтриете, ако не е достатъчно.

HTML. Алгоритъмът не използва знания за структурата на документа, сега можете да добавите, за да се подобри (или ускоряване) на работната програма. Т.е. например, предварително pessimizirovat

и
Подкрепете проекта - споделете линка, благодаря!