Мой белый проект: движок, парсинг, юзабилити, итерационная модель разработки

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

Девушка любит белые проекты

В предыдущем посте я всех слегка запутал, представив для удобства, что делаю сайт про азиатских девушек (чтоб не палить реальную тематику сайта).
Уточню несколько моментов. Заработок абсолютно белый, налоги платятся, покупатели довольны.
Немного упростив, можно сказать так: есть некий интернет-магазин, продающий товар или услугу. Я сам покупаю, но правильный выбор сделать трудно/долго, так как в рунете почти нет нужной информации. Что странно, так как ниша популярная. Приходится читать буржуйские сайты. Соответственно всегда хотелось сделать такой сайт для рунета и была уверенность что принесет он много.

Какие основные задачи необходимо выполнить для реализации проекта:
1) где-то взять движок (CMS);
2) где-то взять контент;
3) довести до ума дизайн и юзабилити.

Частично спарсенный контент — это не всегда признак Г-сайта.
Например, делая сайт про кино, слишком долго сидеть и вбивать руками данные о фильмах, об актерах. Быстрее спарсить всё это с imdb.

Парсинг контента — задача трудоемкая, но тривиальная.

Предположим нам нужно создать базу фильмов с некоторыми данными (название, жанр, дата выпуска, ..) и отображать на своем сайте. Будем парсить imdb.

Сначала накачаем тысячи страниц с данными о фильмах. Программа на C++, качаем cURL-ом, всё скачанное сохраняем на винт, потому что потом при текстовом разборе придется экспериментировать и смотреть html-код глазами.
Ищем, где можно получить список ссылок на все фильмы. Видим, что на imdb можно вывести фильмы для каждого из жанров. Выводится всего по 50 фильмов, к счастью параметр start=51 всё упрощает, просто пробежим все страницы.
Выкачиваем их простенькой функцией, сохраняем на винт.

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

По полученному списку фильмов выкачиваем все страницы для каждого отдельного фильма и сохраняем на винт. Открываем несколько страниц, смотрим html-код, пишем функцию разбора — получаем все интересующие данные о фильме. Тут нас могут ожидать сюрпризы, так как страницы не всегда однородны по своей структуре (например, мы заточились, что title фильма находится в h1-заголовке, но у 5% страниц бывает по-другому). Ничего не поделаешь, приходится дорабатывать функцию разбора.

Все спарсенные данные храним в Sqlite-базе. Таким образом процесс парсинга никак не завязан на базу для сайта, это очень удобное разделение.
Sqlite — это классный db-движок, он очень удобен. Используется во многих популярных программах (Firefox, Chrome, другие). Скачивается с сайта в виде двух файлов на языке C (c-файл и h-файл), просто кладется в проект и сразу работает. Можно было бы хранить все данные в каком-то своем внутреннем формате, sqlite — это просто удобная замена. Есть бесплатные программы для просмотра и редактирования базы, это большой плюс.

После того, как большой кусок целостных данных спарсен, пишется функция, создающая sql-файл (типа тех, которые создаются при дампе БД). Все данные экспортятся в MySQL базу сайта.

Самая сложная и трудоемкая задача — написание движка. Была мысль использовать какой-то существующий, поставив на него плагинов и допилив. Есть опыт в допиливании Joomla!, WordPress, phpbb2. Этот опыт подсказал мне, что допиливание чужого движка — это большой геморрой, постоянное наступание на грабли, борьба с нехваткой документации и долгим вниканием в особенности архитектуры. Плюс еще и страдания от того, что движок написан не оптимально и тормозит (как в случае с Joomla!).
В итоге было принято (абсолютно правильное) решение писать движок с нуля.
Но знаю, что при большом желании можно найти движок и плагины, в котором реализовано примерно то, что нужно (это чтоб не убивать надежду у тех, кто не умеет программить).

Движок в целом написан. Контент напарсен, написан, отрерайчен (заказывал). Сейчас довожу юзабилити сайта до ума и реализовываю как можно больше нужных фич (т.е. дорабатываю движок).

Не хотелось работать без отдачи долгое время, был такой план:
1) как можно быстрее, в кратчайшие сроки получить первую итерацию работающего проекта, то есть чтобы это уже был работоспособный движок, на котором можно делать сайты;
2) при дальнейшей работе каждую новую фичу доводить до первоначального рабочего состояния, чтобы её тоже можно было использовать в сайтах;
3) находить ниши, слабо представленные в рунете, парсить данные с буржуйских сайтов, писать/генерировать немного текстов (на главную и для сео), запускать такие сайт под сбор трафа и заработка с адсенса, тизеров или партнерок. Для каждого такого сайта я стараюсь придумать какое-нибудь «цепляющее» нововведение. Часть таких нововведений потом попадает и в основной проект.

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

P.S.
Тщательно продумал план, как постепенно привести жену к такому пониманию мира, чтобы можно было устроить групповушку с какой-нибудь охренительной тёлой. Начну постепенно работать в этом направлении, когда доделаю текущий большой проект.
Если интересно, могу написать подробнее.

Статьи на эту тему

34 комментариев

  1. чЕрВяК:

    Радует что занимаясь проектами,ты не забываешь про жену :)
    Прямо повеселил :) А вообще не пора ли тебе свои скрипты продавать?

  2. Kiz:

    >> Тщательно продумал план, как постепенно привести жену к такому пониманию мира, чтобы можно было устроить групповушку с какой-нибудь охренительной тёлой.

    а если жена захочет «охренительного чувака»? как быть? :)

  3. Bulat:

    а не хочешь постепенно привести жену к такому пониманию мира, чтобы можно было устроить групповушку с каким-нибудь охренительным мужиком? мудак ….

  4. Арсений:

    Плевать на движки и контент. Напиши про убеждение жены!

  5. Logan:

    Ага, давай про жену жги))) Парсинг имхо — это такой геморой. Легче под низкочастотники заточить и сделать не 1000 статей, а 5 отличных статей, которые дадут хороший трафф (ну и ссылочек прикупить). В общем, имхо белый проект твой, не такой уж и белый, раз много автоматизировано, а значит не так качественно. Ведь один человек не сможет сделать проект такого масштаба, необходимо, чтобы с ним работали хотя бы несколько челов.
    Просто как-то странно ты работаешь без затрат на контент))
    А вообще, я так понимаю ты будешь работать на партнерку? или свой продукт (что сомнительно, так как этого не оговаривалось)?
    Если на партнерку, то будет вероятность, что она прикроется, а если рассчитываешь на адсенс (что тоже по сути партнерка), то это уже как то несерьезно в связи с пафосностью этого «Большого белого проекта», которую ты ему придал.
    Не Глеб, не обижайся, но все как-то несерьезно.
    Можно и доры белыми сделать под смски))
    Или кучу мфа-сайтов))
    Мой тебе совет, создай в качестве «второго Белого проекта» свою партнерку, вот это уже будет думаю реальный заработок.
    А интернет магазин «неизвестных и неспаленных зверушек» — это как-то пока звучит не серьезно))
    Удачи, буду дальше следить за твоим продвижением.

  6. Logan:

    Извиняюсь за тавтологию))

  7. Openixxx:

    согласен с Арсением! про жену давай!!)))

  8. 1st_MAN:

    а я свою почти жену уже давно привел к такому мировоззрению =) только тепреь у нее старых подруг не осталось =))))) ну да и хрен с ними, зато новые есть) а вот как я ее приводил к этому — не скажу, ибо долго и геморно, да и ваще, имхо, человек который женился, тоесть, относится к понятию «брак» не как к тупому ритуалу, вряд ли сможет жену подбить на такое. как говорится, начинать надо с себя, со своего мировоззрения. чтобы кого-либо в чем-либо убедить, надо сначало убедить себя, причем не просто убедить, а АРГУМЕНТИРОВАННО ДОКАЗАТЬ себе это что-либо. тогда и другие тебе поверят.

    а в целом, мне нравится ход твоих мыслей, чувак =) я также делаю — в плане свой движок, белый проект, групповушка с двумя бабами…

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

    глеб, а ты не думал написать генератор текстов? типо как вон ща в топсапе ридере пиарит один чувак? я вот давно хочу но все как-то руки не доходят, ибо работы там жжесть)

  9. alex13:

    Потом приходишь домой, а там жена с другим мужиком. И она говорит — присоединяйся, ты ж групповушку хотел! ))))))))

  10. Глеб Жиглов:

    >А вообще не пора ли тебе свои скрипты продавать?
    миллионов на этом не заработаешь.

    >В общем, имхо белый проект твой, не такой уж и белый
    Тот большой проект, который еще не запущен, он абсолютно белый, без генеренного контента. Всё рассчитывается на то, что пользователи будут довольны сайтом и будут возвращаться снова и снова. На нем даже рекламы не будет первые полгода-год, пока не наберу базу пользователей. И сами текста вообще не затачиваются под сео, потому что они для людей.
    Для него напарсена база item’ов (как например список фильмов с основными параметрами), но под каждый item контент пишется хороший, уникальный, с надеждой на то, что пользователь будет доволен и вернется еще.
    Контент уже готов (много контента, часть написана мною, часть заказывал). По замыслу, если всё пойдет удачно, большую часть контента будут создавать сами пользователи.

    >А вообще, я так понимаю ты будешь работать на партнерку? … Если на партнерку, то будет вероятность, что она прикроется
    Такая вероятность практически отсутствует. Чтобы такое случилось, нужно чтобы произошло что-то глобально неприятное — типа Второй Великой Депрессии. Тогда во всей IT-индустрии наступит коллапс, люди буду пахать на заводе за тарелку супа, а я уеду жить в деревню заниматься натуральным хозяйством. Успеть бы построить дом :)

    >Мой тебе совет, создай в качестве «второго Белого проекта» свою партнерку, вот это уже будет думаю реальный заработок.
    Скажу по секрету: если мой Большой Белый Проект сможет захватить большой процент рынка, то я начну сам продавать товар, без всяких посредников. Возможно партнерка для вебмастеров там тоже будет (хотя не уверен).
    Но это уже совсем другой уровень, до него я дорасту еще не скоро.

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

  11. Бездомный Панда:

    «Плевать на движки и контент. Напиши про убеждение жены!»
    Присоединяюсь. Плевать на ГСы,пиши исключительно про жену :)

    «Парсинг имхо – это такой геморой».
    Солидарен. Под СДЛы парсинг настроить крайне сложно. Проще школьников нанимать.

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

  12. fg:

    выложи фотки жены всякие разные, чего мелочиться то
    Нас тут много и нам надоело дрочить на финстрипы

  13. 1st_MAN:

    http://sapientgenerator.ru/ — вот этот я имел ввиду. хз са мне тестил но вроде примеры норм ну и отзывы есть…

  14. neSEOshnik:

    народу явно делать нехера. «Глеб» тут целую страницу полезной инфы выложил — полезного много можно исчерпать, и написал в конце мини-параграф про фантазии. Так народ же из всего написанного бросился обсуждать его жену и т.д. и т.п. озабоченные, что ли? если хотите помастр***ть иди на сайты а-ля хХх и наслаждайтесь.

  15. Сашка:

    http://sapientgenerator.ru/ это УГ модерацию не пройдет. Ним уже до вас пол сапы забили.

  16. Глеб Жиглов:

    >Под СДЛы парсинг настроить крайне сложно. Проще школьников нанимать.
    Думаю всё же школьников не проще. В базе тысячи записей, даже не представляю, сколько бы школьники всё это собирали руками и как бы я контроллировал качество.

    sapientgenerator.ru
    судя по описанию, интересный сервис, т.к. готовые автообновляемые сайты предлагают.
    но метод генерации контента сильно смущает. насколько я понимаю, такие текста без проблем определяются Яндексом как неестественные (http://download.yandex.ru/company/A_Kustarev_A_Raigorodsky_poisk_neestestvennih_textov_statia.pdf).

  17. Сашка:

    sapientgenerator.ru
    Все быстро и уверенно уходят пол АГС)

  18. Aleksej:

    Так рерайтил всю базу чтоли? Так без штанов остаться же можно. Или тока значимые страницы?

  19. Даниил:

    Подсел на этот блог =\ . Я, к слову сказать, тоже собираюсь делать саты в полуавтоматическом режиме, но помимо копипаста или каких-либо других видов контента планирую использовать скан. В день получается создавать по 1-2 сата с учётом уникализации шаблона и с достаточным количеством скана. Думаю прикрутить ещё парсинг видео, и генерацию объявлений (а-ля sapientgenerator), тогда сайт будет выглядеть более СДЛно.
    И вообще стоит ли раскачивать на таких сайтах пузомерки? Ведь получаются сайты с 300-400 страниц (только уникальных) в индексе.
    PS. Зашёл на ваш блог через аккаунт на acm.timus.ru )

  20. fg:

    кстати, хотел сказать спасибо за наводку на sqlite
    реально удобная штука о которой я не знал. Начал активно использовать

  21. f:

    счастлив читать твой блог, Глеб.

  22. Глеб:

    Глеб, расскажи пожалуйста, сколько сегодня зарабатывает один самый обычный твой сайт (нулевой), с возрастом в сапе 1 месяц, сделанный под сапу, в сутки.

  23. Максим:

    Твой блог прекрасен, и лицемерен одновременно. Расскажи о планах. Я обязательно зайду на твой блог завтра и в последующие дни с другого ip и с другими куками. Глеб, тебе слава, Ты прекрасен. Интернет узнает о тебе. Поря тебя раскрутить, и лицемерие Ваше тоже.

  24. fg:

    Максим, чтобы подрочить? С другим IP и другими куками это уже извращение какое-то

  25. darmoid:

    Куча интересной информации, а обсуждают только последний абзац. Во как нужно поведенческие факторы поднимать =)

  26. Logan:

    Глеб, посты еще ожидаются или из ридера можно удалять? =))

  27. Глеб Жиглов:

    точно не знаю ))
    есть желание написать несколько убойных постов, но всё руки не доходят

  28. Openixxx:

    Глеб давай постов убойных!)) чтобы наповал валило!!!) ЖГИ ЖЕГЛОВ!!!))))))

  29. Logan:

    Жду с нетерпением!

  30. Наглый мамонт:

    Глеб, как дела с белым проектом?

  31. neSEOshnik:

    Глеб как ты? Отзовись. Твои посты вдохновляли на развитие сайтов. А теперь уже почти год как тишина. Все в порядке?

  32. админ жд:

    Походу его жена прочитала этот пост, вставила пиздян и отлучила от инета

  33. iPont:

    У вас есть альтернативный блог, на котором выкладываете свежую информацию? Мне уже надоело сюда заходить с надеждой, что появится что-то новое!

  34. Romanus:

    Ну все пи##ец блог загнулся!

Оставить комментарий