Парсер веб страниц по заданному шаблону

12
_
На сайте с 19.11.2008
Offline
4
2824

Доброго времени суток!

С вебом работаю относительно недавно, до этого позиционировал себя как прикладной программист.

Не давно узнал от знакомого, что он написал РУ-синонимайзер и удачно его продает. Вот и я решил попробывать продать свой парсер.

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

Опишу что я понимаю под некоторыми терминами:

Страничная ссылка - это ссылка на страницу на которой размещается часть списка статей к примеру если список статей размещается на нескольких страницах, т.е. имеет пейджинг. Например: mysite.ru/list.aspx?page=10

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

Краткое описание программы:

Тут не одна программа, а набор из трех небольших програм.

Первая для генерации страничных ссылок (т.е. ссылка остается той же просто меняется цифра номера страницы в параметре) и парсинга страниц по этим ссылкам для получения контентных ссылок. Конечно шаги можно выполнять выборочно.

Вторая программа, сам парсер контента. В виде xml файла задается шаблон в котором указываются регулярные выражения с помощью которых и будет поиск нужноой части контента. Т.е. что зададите то и получите. Например:

...

<Template>
...
<ArticleTitle><![CDATA[ <h2>([\s\S]*?)</h2> ]]></ArticleTitle>
<ArticleText><![CDATA[ <div>([\s\S]*?)</div> ]]></ArticleText>
...
</Template>
...

Полученный контент в формате заданного xml шаблона будет записан в новый файл, только вместо рег. выражений будет помещен сам контент. Пример:

...

<Template>
...
<ArticleTitle><![CDATA[ здесь будет название статьи 1 ]]></ArticleTitle>
<ArticleText><![CDATA[ здесь текст статьи 1 ]]></ArticleText>
...
</Template>
<Template>
...
<ArticleTitle><![CDATA[ здесь будет название статьи 2 ]]></ArticleTitle>
<ArticleText><![CDATA[ здесь текст статьи 2 ]]></ArticleText>
...
</Template>
...

Третья программа для проверки корректности составленного рег. выражения для составления xml шаблона.

Возможно минус:

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

И еще программы написаны под платформу .NET 3,5 на C#.

Возможно плюс:

Для тех кто еще не понял, программа сама достает контент по списку контент ссылок из файла, после парсит полученный html, по пути может почистить от html тэгов (опционально), т.е. работает в полном автоматическом режиме. Так же может работать в несколько потоков (количество можно задавать, а так же паузу между обращениями к серверу), для ускорения обработки заданного списка ссылок, но есть нюанс, некоторые серера можно пригрузить, так что они не смогут обрабатывать ваши запросы, возможно не только ваши. А некоторые просто банят вас на некоторое время. Потому с большим числом потоков баловаться нужно осторожно.

Само собой, в таком виде распространять не буду, приклею UI или же оформлю в виде онлайн-сервиса

P.S. Для модераторов: извините за длинный пост.

Жду отзывов.

Спасибо.

C
На сайте с 20.09.2007
Offline
114
#1

По требованиям, будет востребован такой функционал:

Открыть драйвер CD-ROM-а, сказать туда свою фамилию, назвать название сайта и "Спарси мне самый лучший текст на тему Финансы".

...

А по теме:

Кто может:

В виде xml файла задается шаблон в котором указываются регулярные выражения

и без вашего парсера спарсит всё что хочет.

ИМХО, самые лучшие VDS: https://cp.inferno.name/aff.php?aff=4048
[Удален]
#2

Те кто вообще знают что такое регулярки обойдутся без вашего парсера.

У меня написать описанное вами займет от силы день. За сколько это можно продать? Баксов 30-50? Надо ли оно вам если вас все будут дергать с суппортом и доработками.

ortega3000
На сайте с 11.06.2007
Offline
32
#3

Ребят, вы все верно говорите, но надо бы как-то мягшее... :)

ТС: дело в том, что в таком виде программа не будет пользоваться популярностью у обычного сеошника, так как у вас три программы, а нужна одна, реализующая этот функционал. Кроме того, она будет сложной в использовании, так как надо будет руками создавать XML (и не один), а тут можно ошибиться. Лучше написать генератор, который будет загружать страницу со списком, выдирать из нее контентные ссылки, а затем переходить в режим обучения, во время которого пользователь будет выделять заголовки и тексты, а программа будет привязываться к окружающему эти тексты HTML, самостоятельно создавая регулярные выражения. Это сложнее, но зато потом, когда такое чудо будет в паблике, у вас отбоя не будет от покупателей, особенно если программа будет недорогой.

Кстати, писать на .NET 3.5 не советую, так как опыт распространения программ под него показал, что у многих пользователей он не стоит, а установка этого фреймворка иногда превращается в кошмар. Тем более, что в нем нет таких фич, которые были бы нужны, и которых нет в .NET 2.0, разве что вы захотите использовать LINQ.

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

Кстати, а как вы планируете защищать программу? Обфускация? StarForce? Еще что?

А то защищать надо, ведь сопрут как пить дать!

SJ
На сайте с 16.03.2008
Offline
78
#4
ortega3000:
Лучше написать генератор, который будет загружать страницу со списком, выдирать из нее контентные ссылки, а затем переходить в режим обучения, во время которого пользователь будет выделять заголовки и тексты, а программа будет привязываться к окружающему эти тексты HTML, самостоятельно создавая регулярные выражения. Это сложнее, но зато потом, когда такое чудо будет в паблике, у вас отбоя не будет от покупателей, особенно если программа будет недорогой.

Полностью согласен.

Кстати, писать на .NET 3.5 не советую, так как опыт распространения программ под него показал, что у многих пользователей он не стоит, а установка этого фреймворка иногда превращается в кошмар. Тем более, что в нем нет таких фич, которые были бы нужны, и которых нет в .NET 2.0, разве что вы захотите использовать LINQ.

И тут согласен. .NET 2.0 хватает полностью :)

Любимый хостинг (http://beget.ru?id=2902) How can we grow old when the soundtrack of our lives is rock-n-roll?
_
На сайте с 19.11.2008
Offline
4
#5
ortega3000:

...
Кстати, писать на .NET 3.5 не советую, так как опыт распространения программ под него показал, что у многих пользователей он не стоит, а установка этого фреймворка иногда превращается в кошмар. Тем более, что в нем нет таких фич, которые были бы нужны, и которых нет в .NET 2.0, разве что вы захотите использовать LINQ.
...

Не понял что вы имеете ввиду.

А вообще, я с вами согласен на 100% что программу нужно доработать не только в плане UI, но и в плане юзабилити.

Я пока склоняюсь к оформлению в виде онлайн-сервиса. Автоматически решается вопрос с защитой программы и думаю так она будет более доступной.

Но тут получается много работы, на которую пока нет времени.

Спасибо.

[Удален]
#6

чет я не понял, подобное реализуется в excel с помощью простейших макросов, и в итоге можно получить контент в любом виде хоть в XML, хоть html, хоть в txt

в чем преимущество вашего решения что бы за него еще и платить?

_
На сайте с 19.11.2008
Offline
4
#7
burunduk:
чет я не понял, подобное реализуется в excel с помощью простейших макросов, и в итоге можно получить контент в любом виде хоть в XML, хоть html, хоть в txt
в чем преимущество вашего решения что бы за него еще и платить?

А в чем преимущество какого либо программного продукта перед другими его аналогами?

У всех есть свои нюансы.

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

Думаю что тема сисек раскрыта.

ortega3000
На сайте с 11.06.2007
Offline
32
#8
_Thor:
Не понял что вы имеете ввиду.

Я имел в виду, что писать на .NET 3.5 стоит только в том случае. если вы используете какие-то фичи, имеющиеся только в нем. Например, тот же LINQ, которого в .NET 2.0 не было. Но, в то же время, второй фреймворк и так содержит всё необходимое для построения мощных продуктов, так что использование .NET 3.5 в большинстве продуктов неоправдано.

ortega3000 добавил 20.11.2008 в 17:36

_Thor:
Думаю что тема сисек раскрыта.

Несколько грубо звучит, не находите? 😒 Такими фразами уважения здесь не добиться.

_
На сайте с 19.11.2008
Offline
4
#9
ortega3000:
Я имел в виду, что писать на .NET 3.5 стоит только в том случае. если вы используете какие-то фичи, имеющиеся только в нем. Например, тот же LINQ, которого в .NET 2.0 не было. Но, в то же время, второй фреймворк и так содержит всё необходимое для построения мощных продуктов, так что использование .NET 3.5 в большинстве продуктов неоправдано.

ortega3000 добавил 20.11.2008 в 17:36

Использовал .NET 3.5 не потому что он новый и в нем больше фич чем в .NET 2.0, а исключительно из-за того что свою основную работу выполняю на этой версии.

ortega3000:

Несколько грубо звучит, не находите? 😒 Такими фразами уважения здесь не добиться.

Да вы правы, в конце как минимум не хватает :) , дабы свести на шутку. Потому прошу прощения если кого оскорбил.

SJ
На сайте с 16.03.2008
Offline
78
#10
_Thor:
Использовал .NET 3.5 не потому что он новый и в нем больше фич чем в .NET 2.0, а исключительно из-за того что свою основную работу выполняю на этой версии

Давайте поговорим как дотнетчики :)

Что же такое вы юзаете в 3.5? Почему не юзать 2.0, который у вас кстати установлен ;) ?

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий