Поиск по блогу

суббота, 26 января 2013 г.

SQLite и Delphi 7: работа с БД с помощью DISQLite

Для тех, кто случайно наткнулся на эту статью. Я хочу провести эксперимент с продвижением в социальной сети VK.com, используя автоматизацию. Для этого я пишу (пусть и очень медленно, в свободное время) свое приложение и частично освещаю ход работ на этом блоге.

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

Сначала хотела вообще обойтись без БД, а заодним и описать работу с XML, но, подумав, решила, что без базы будет сложно (и неудобно, если пользователей заведется много). Особенно, если разрабатывать с перспективами. Поэтому сегодня речь пойдет о SQLite.

Чем руководствовалась при выборе БД?
  • Максимальная простота и легкость.
  • Минимум телодвижений для работы приложения на другой машине: надо просто скопировать все содержимое папки к себе (кроме файлов БД нужна только dll).

понедельник, 14 января 2013 г.

Компонент TChromium: начало работы, установка

Сегодня речь пойдет о компоненте TChromium (dcef3). Что это за компонент и в чем его преимущества перед стандартным TWebbrowser?

Я могу назвать 2 главных преимущества, например, в привязке к разработке утилиты для Вконтакта. Во-первых, он пошустрее будет. Во-вторых, в нем очень удобная и простая работа с cookies.

Поясню второй пункт. Например, нам надо, чтобы через одну форму можно было работать с несколькими аккаунтами vk.com без постоянного "перелогинивания". В Webbrowser-е это можно организовать только шаманскими методами, а вот в Chromium-e решение выглядит очень красиво и просто.

Установка DCEF3 в Delphi7 (компонент TChromium)

На Googlecode можно найти 2 версии: старую (http://code.google.com/p/delphichromiumembedded/) и поновее (http://code.google.com/p/dcef3/). Рекомендую вторую.
  1. Скачиваем свежий дистрибутив с помощью SVN в папку c:\Program Files\Borland\Delphi7\Lib\dcef3.
  2. Загружаем Delphi, выбираем через "Open" пакет для D7, компилируем и инсталлируем. Если все хорошо, покажут TChromium в списке доступных компонентов на отдельной новой вкладке.
  3. Закрываем пакет, не сохраняя изменения в проекте.
  4. Проверяем Chromium в работе.

Тестирование работы компонента

Для теста создадим на форме 2 браузера, которые будут работать с независимыми друг от друга кукисами. С компонентом TWebbrowser такого так просто не добиться.

Размещаем на форме компонент TChromium и 2 кнопки.

В папку с проектом (или туда, куда компиллируется программа) копируем dll-ки из c:\Program Files\Borland\Delphi7\Lib\dcef3\bin\Win32\.

В uses дописываем библиотеку ceflib.

В обработчиках нажатия кнопок пишем:

const
  DefaultCookiesDir = 'Cookies/';
...
procedure TForm1.Button1Click(Sender: TObject);
var
  CookieManager: ICefCookieManager;
  CookiesPath  : String;
begin
  CookiesPath := ExtractFilePath(Application.ExeName) + DefaultCookiesDir + 'User1';
  CookieManager := TCefCookieManagerRef.Global;
  CookieManager.SetStoragePath(CookiesPath);
  Chromium1.Load('vk.com');
end;

procedure TForm1.Button2Click(Sender: TObject);
var
  CookieManager: ICefCookieManager;
  CookiesPath  : String;
begin
  CookiesPath := ExtractFilePath(Application.ExeName) + DefaultCookiesDir + 'User2';
  CookieManager := TCefCookieManagerRef.Global;
  CookieManager.SetStoragePath(CookiesPath);
  Chromium1.Load('vk.com');
end;

Не ждите, что это уже получилось супер-приложение :) Я просто привожу пример, как для TChromium можно с легкостью переключать папки, в которых браузер хранит кукисы.

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


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

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

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

Тенденции применения парсинга и автоматизации в вебмастеринге и SEO

Думаю, все уже отошли от праздников и вовсю трудятся на свое собственное материальное благо. Вот и мне удается немного посидеть за компьютером.

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

Vk.com

Началось с того, что посмотрела небольшое видео по продвижению пабликов в Vkontakte. Оказывается, уже немало софта написано для автоматизации постинга, парсинга чужих пабликов, проставления лайков и т.д..
Отступление: если есть хороший софт с нужными функциями и поддержкой, то я предпочитаю заплатить. Так гораздо проще, чем самой писать с нуля. Именно поэтому я уже давно не занимаюсь парсингом выдачи, а использую KeyCollector. Для работы с социальной сетью vkontakte.ru многие используют Viking Botovod (я не тестировала, рекомендовать не могу, но видела промо-ролик).

Наполнение сайтов

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

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

Мои эксперименты и их освещение на этом блоге

Всем вебмастерам, кто только начинает заниматься своими проектами, хочется найти заветную кнопку "Бабло". Кнопки такой не существует, но есть масса способов, которые могут сработать и принести хоть какую-никакую, но прибыль.

Скажу честно, я читала о всяких вариантах, но никогда их не пробовала реализовывать — всегда находились дела поважнее и, как большинство фрилансеров, испытывала нехватку свободного времени. Но сейчас решила немного себя перебороть и сделать что-нибудь "новенькое" для себя. Конечно же, нехватка времени в настоящий момент тоже остро стоит, но что делать...

Эксперимент №1

Программка для работы с Vkontakt-ом. С функционалом пока точно не определилась, решу по ходу. Пока приблизительно буду ориентироваться на тот же Viking. Конечно, будет не точь-в-точь.

Как настоящий динозавр, буду писать ее на своем любимом Delphi7.

Эксперимент №2

В рамках эксперимента №2 хочу создать какой-нибудь сайт из разряда "сделал и забыл" или хотя бы "сделал и подзабыл".

Как можно заработать на таком сайте?
  • Контекст. Ну, это мне знакомо, с этим я работаю.
  • Сапа. Никогда не пробовала использовать, почему-то жалко 2 своих основных сайтика :) — можно попробовать.
  • Партнерские программы.
Выбор тематики
Сайт будет заточен под региональные запросы. Тематика — недвижимость. Статьи и новости — закажу рерайт. База по риэлторам, база по предложениям (с досок объявлений). За счет большого числа объявлений можно добиться большого количества страниц в выдаче. Только объявления надо будет чем-нибудь дополнить, что ли. Каждое предложение можно также сопроводить отметкой на Яндекс.Карте.

Особенности
Буду делать не на привычных CMS, а напишу свои скриптики — читала о наблюдениях, что самописные сайты лучше воспринимаются поисковиками, чем на Wordpress/Joomla!.

Работу над этими проектами буду вести неспешно (опять же, из-за невозможности долго сидеть за компьютером). Статьи будут чередоваться как попало :) Но, думаю, будет интересно. По крайней мере — мне. Если есть желание следить за ходом дел, приглашаю подписаться на RSS. :)

Поделиться