7.30.2008

Сделай сам: промо для кодеков

И снова все лежало, опять тока вчера блог поднялся.

По поводу статьи.

Да, не описаны всякие тонкости итд, но принцип вроде разжеван, вопросы? - вэлкам в камменты.

К статье прилагается архив с файлами-примерами, для пущего понимания происходящего:

- все представленные в статье картинки находятся в папке doc_img.

- все файлы с исходными кодами в папке html.

- в папке html\i\ родные картинки от лэндинга: изображение окна плеера и элементы всплывающего окна.

- в папке html\i1\ порезанные картинки необходимые для разработанного лэндинга.

- dсе ссылки на домены в файлах вымышленные.

Для создания своего лэндинга нам понадобится любой браузер (у меня мозилла), прога SnagIt(фри версию вроде можно юзать) или что то ей подобное, Photoshop и какой нить редактор хтмл и исходного кода (я в Far встроенный люблю), например Macromedia Dreamweaver.

Ставим себе все вышеперечисленное хозяйство.

Для начала ищем подходящий диз (либо рисуем сами), рисовать я неумею посему посему возьму первое что попалось под руку.

Запускаем браузер, идем сюда http://www.hulu.com. Те кто рисуют сами - рисуют сами. Остальные запускают SnagIt.

В SnagIt выбираем Image Capture и в меню Input выбираем Region. Идем в браузер снова и жмем смотреть любое видео.

Жмем "F11" в мозилле и получаем браузер на весь экран, подгоняем нужный нам кусок страницы. Жмем "Print Screen", выделяем нужный нам регион и сохраняем его. Что то типа этого получаем <файл hulu.jpg> (рис. 1).

clip_image002

Рис.1 - Снятый скриншот

Открываем ее в фотошопе и правим и режем как нам нужно.

Я не буду полностью резать, менять и верстать все, только самое необходимое сделаю, что бы ястна была суть, так что не кидайте камнями в меня плиз)). Вообщем тра-та-та, прошел час и мы получаем следующее чудо: <файл hulu2.jpg> и отдельно вырезаем кнопочки, что сверху "Popular Movies" и "Popular Movie Clips", можно заодно переименовать их как охото (Рис. 2). Так же можно порезать себе картинки что ниже экрана и вообще все что захочется. Это делается для того что бы сделать их кликабельными. Собственно работа с фотошопом на этом заканчивается.

Кнопки сверху:

clip_image001   clip_image001[4]

Середина, для того что бы в дальнейшем всю сделать кликабельной:

clip_image002[8]

Полностью для бэкграунда:

clip_image002[10]

Картинки что снизу, то же что бы кликабельными сделать. Можно заменять так же на любые свои тематические:

clip_image001[8] clip_image002[12]clip_image001[10]....................

Рис. 2 – отредактированная графика.

Далее открываем в браузере любой дефолтный лэндинг кодековой партнерки с которой будем работать, либо стучим саппорту этой партнерки и просим как порядочные люди, vipcodec и ruler-cash точно дают (а я, кстати, даю на них инвайты). Я не буду уточнять чей лэндинг я использовал.

!!!АХТУНГ - себе не ставить!!!

Смотрим его исходный код и сохраняем себе в файл, файл прилагается в архиве - <html/0.html> и нужные картинки окошка с сообщением о необходимости поставить кодек и т.д. (их так же сохраняем себе).

На примере этого скрипта я и буду плясать дальше. Для начала открываем голый код (в блокноте или любом другом текстовом редакторе) и закомментируем строчку "softdownload();" - это функция которая отвечает за загрузку софта, для верстки оно нам ни к чему. Так же можно еще пошариться по коду и пока закомментить все скрипты что подгружается извне, что бы не грузить их каждый раз при просмотре страницы. Файл со всем закоментированным и картинками в архиве - <html/1.html>, картинки в html/i/.

Распаковывавем представленный выше архив к себе. Открываем файл 1.html в Dreamweaver. На рисунке 3 представлено что примерно вы должны увидеть открыв файл.

clip_image002[14]

Рис. 3 – Открыли файл 1.html

Вкратце о самом необходимом в коде:

setTimeout("showPopDiv();",300); - меняя последнюю цифру можно увеличивать, уменьшать задержку для выскакивающего окна (полезно!!!)

<CENTER>

<A href="javascript:Down2();"> - тут начинается графика, а точнее именно после этого нарисован плеер.

<DIV id=popdiv... – это само выскакивающее окно начинается

Копируем все содержимое файла в файл 2.html (готовый и переделанный он уже есть в архиве в папке html картинки для него /html/i1) так же в dreamweaver и правим далее уже этот файл. Так же в папке с этим файлом создаем папку i1 и в нее кладем нарезанные ранее картинки (те что на рис 2).

В начале файла находим <H2 style="MARGIN: 0px; FONT: bold 14pt Arial; COLOR: #ffff00" align=center> </H2> и удаляем.

Сразу после тэга <CENTER> есть ссылка <A href="javascript:Down2();"> - это есть ссылка на картинку с изображением плеера. Удаляем ее, т.к у нас вроде как свой плеер будет.

Находим далее по тексту <SCRIPT>Drag.init(document.getElementById('popdiv'));</SCRIPT> и после этого удаляем все до тэга </CENTER>. Это была надпись типа ролик столько то длится столько то смотрят, что в самом низу.

Собственно пока что просто очистили код от ненужностей. Теперь рисуем своё. Сразу после тэга <CENTER> таблицами нарисован весь дизайн. Здесь объяснять ниче не буду, смотреть таблицы html. Прошу еще раз заметить что все домены и ссылки указаны символически, вам следует править их под свою партнерку. Например кнопками сверху "Popular Movies" и "Popular Movie Clips" неплохо ссылатся на лэндинги самой партнерки, что с кучами видео, а картинками на конкретные нишевые ролики например.

Начиная вот отсюда

<DIV id=popdiv style="Z-INDEX: 1; LEFT: 0px; VISIBILITY: hidden; POSITION: absolute; TOP: 0px" name="popdiv">

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

Когда все готово следует разкомментировать закомментированные (уж сорри за тофтологию) ранее вызовы окна и закачки файла.

Я не заморачивался с упорядочиванием структуры файлов и красотой дизайна, просьба не пинать, основные принципы как мне кажется ястны.

P.S.: По ходу написания поста подумалось еще что могу делать такие для кодеков, софтвары лэндинги за денежку)). Если кому совсем надо, то вэлкам.

Ярлыки: ,

6.07.2008

YACG and Google Trends parser

Тэээкс... Вообщем сайт про который писал на основе YACG в гугле вылетел нах. Где то месяц трепыхался по 30-70 страниц в индексе а несколько дней назад просто был на него наслан похуй гугло. Трафффа не было и нет. Зато яху жрет его как надо, уже 1700 паг с чем то в индексе и вроде понемногу растет. Но траффа так и нет)). По поводу гугли я думаю надо с контентом все же хоть как то заморачиватся, простейшую синонимизацию производить и наверное не так часто пинговать все же, я пинговал каждый час, т.е. забрал трендсы и тут же повесил обновление на морду и послал на пинг. Лана, пох пусть живет, мож когда где выстрелит)).

Теперича далее. Хочу положить тут скрипт, а именно hook для YACG парсящий гуглотрендсы и пингующий. Вота: YACG Google Trends hook. Там есть ридми и написано че делать что бы заработало. Вкратце хоок можно ставить на крон и выводить результаты прсинга гугл трендс в нужном вам формате и нужном вам месте, так же хоок можно дергать откуда нить еще, можно просто применить как парсер для гуглотрендсов итд.

Редко пишу щас, дела + лето = жуть и лень. Попробовал кстати dogmasoftware на днях - на моем смешанном адалте выходит раза в полтора больше чем на кодеках. Рекомендую.

Усе, устал писать.

Technorati Теги: ,,,,

Ярлыки: , , , ,

4.25.2008

Два фри блогхостинга и один интерестный скрипт.

Technorati Теги: ,,

Ради интереса поставил на 2 домена wordpress mu и поставил на них ссылок где надо, что бы народ подцепил и начал делать говносплоги свои. Интерестно посмотреть что получится.

Они: Place For a blog и Blogs Place. Сейчас там уже понемногу набирается "участников" и первый уже в индексе гугли, даже места какие то берет). С первым немного заморочился и поставил туда кое-какие плагины, немного своего контента и напихал рекламы своей же (хз на чем это все конвертить пока, тупо баннеров повесил) со вторым вообще ниче ни делаю. Приглашаю Вас использовать это под свои говносплоги, никаких ограничении не ставлю и сносить ниче не собираюсь, если не заабузят конечно).

Очень прикольный скрипт нашел - YACG. Вкратце такая штука, ставите его себе на домен, саб, папку (т.е. можно много на один домен). Немножко настраиваете и але-оп получаете белый сайт. Прелесть в том что с ним сразу идет нормальное количество hook'ов - плагины по сути. Позволяют парсить контент из википедии, дигга, картинки с фликра и яхи, видео с ютуба, пингатор, сайтмапы, фиды и еще кое-что. Хуки эти очень просто писать самому (я сразу же написал себе под google trends - ну люблю я их). Шаблон можно крутить как хочешь. Вообщем во всех отношениях прелесть. Ради интереса поднял один такой сайтик посмотреть как будет кушатся (вообще не увлекался настройкой) - основа трендсы)).

Посмотрел свои сплоги...как то не очень. Их щас около 2к, но вот в индексе что то около 100 - не есть гут. Надо как то все их засунуть. Начал картами их распощивать по ресам с пр - посмотрим что выйдет. Есть ли у посетителей данной помойки соображения, опят загона большого количества сплого в индекс? Расскажите!!!! Читал на гоуфаке, но там ни к какому консенсусу не пришли.

И еще объясните мне ЧТО нужно сделать, что бы домен в адресной строке браузера отображался без www, вроде че то надо в хтаксессе написать, но я в душе не этаваю что.

Пис.

Ярлыки: , , , ,

3.24.2008

Инструмент автоматизации iMacros

Итак начнемс. Сначала немного расскажу что же это такое этот iMacros и для чего он нужен. Покажу пару примеров скриптов.

Не то что б я мега-программер, но иногда меня прорывает...

Что есть iMacros

Подробно это описано тут. А по русски это неплохой инструмент для автоматизации всей вашей рутинной работы в вэбе. Возможно кто-нить слышал о таких инструментах как TestComplete, WinRunner, QuickTest и тому подобное. Они применяются при автоматизировании тестирования разнообразных приложений, и позволяют имитировать, сейчас, фактически все действия которые может совершать пользователь. iMacros можно сказать их младший брат в плане автоматизации работы интернет браузера (Firefox и IE), к тому же по сравнению с продуктами "гигантами" не требует полностью всей машины(предыдущие забирают себе весь экран, что необходимо для некоторых задач, но в частности для вэба не нужно и даже мешает, если у вас конечно не завалялся свободный комп). Ну и стоимость лицензии вышеперечисленного конечно пугает))

В "нашем" деле (СЕО) до кучи задач котрые надо делать много раз подряд (что мало того, что очень выдрачивает, так еще и время отнимает): регистрация разнообразных аккаунтов, постинг по социальным сетям, закачка файлов через вэб-интерфейс, массовое изменение ссылок на страницах без фтп доступа, накрутка всего и вся, создание однотипных сполгов и т.д. и т.п. И постоянно хочется от всего этого отделатся и просто нажимать на кнопку и забыть. Полностью конечно не получится но частично можно.

Что может iMacros

Вот что пишут разработчики продукта (в моем довольно вольном переводе, только то что важно для нас): Все что бы вы ни делали с помощью браузера, может быть автоматизировано с помощью iMacros.

  • Автоматизация навигации по вэб-страницам

iMacros позволяет записывать и проигрывать повторяющиеся действия. iMacros может работать с любыми сайтами. Возможности: заполнение форм, скачивание\закачивание текста, изображений, файлов и вэб-страниц, импорт\экспорт данных из\в CSV и XML файлы(ов), баз данных и в принципе работа с любым источником. Поддержка работы с PDF документами, снятие скриншотов экрана, симуляция различных юзер-агентов, поддержка работы через прокси.

  • Скриптовый интерфейс

Интерфейс к iMacros дает вам полный контроль над вэб браузером. Таким образом iMacros может использоватся совместно с любым языком сценариев, либо полноценным языком программирования.

  • Поддержка Юникода

Что дает возможность работать со страницами и данными на любых языках.

  • DirectScreen технология

Позволяет автомтаизировать работу со страницами содержащими JavaScript, Java, AJAX, Flash и т.п. Релизовано за счет записи координат кликов и перемещиения мыши.

  • Менеджер паролей

Ну тут думаю все ястно - аля Robotask.

  • Плагин распознавания изображений

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

В основном все, дальше тонкости. Замечу только что конечно же за самые замечательные и нужные возможности нужно платить и причем желательно за Scripting Edition...

Приступим

Идем сюда и качаем то больше хочется.  Я думаю лучше подойдет версия для Firefox или 30 дневный триал полного iMacros.

Ставим себе, тут можно немного полистать че там как обстоит (сильно увлекатся не стоит))). После перезапуска FireFox жмем F8 и о чудо! Вылазит панель (аля как на рисунке). imageНекоторое время созерцаем ее, тыкаем всюду, запускаем присутствующие скрипты и вообще осваиваемся. Продукт все же немного глючноватый и в плане юзабилити мне сначала был непривычен. Советую так же сразу после установки в опциях на закладке Paths определить какие-нить человеческие удобные директории а не пресловыутый Program Files/заебешься/сюда/заходить. Так же рекомендую сразу создавать папки по каждый новый пакет скриптов.

Про все пристутствующие кнопки и тому подобный бред я рассказвывать не буду - у них названия понятные вполне.

Для примера приведу 3 скрипта для propeller.com: подписка статей, голосование за 1 статью множеством пользователей, голосование одним пользователем за множество статей.

Первый нах. Для особливо непонятливых распишу. Идем на пропеллер, логинимся, жмем добавить историю (стой! не бросай читать) и записываем процедуру сабмита статьи с помощбю кнопки (какой бы вы думали?) "Запись" до момента нажатия на кнопку "Check my story" в пропеллере. Тут жмем остановить запись и открываем файл "#Current.iim" на редактирование, в нем примерно следующее:

 VERSION BUILD=6030318 RECORDER=FX
TAB T=1
URL GOTO=
http://www.propeller.com/submit
'Это урл
TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:submitstory ATTR=ID:storyUrl CONTENT=
http://sdfsdf
'Это название статьи
TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:submitstory ATTR=ID:storyTitle CONTENT=dsfsadfadsf
'Это текст статьи
TAG POS=1 TYPE=TEXTAREA FORM=NAME:submitstory ATTR=ID:storyText CONTENT=sdsafdsfasdf
'Это канал (из списка, выбирается по номерам)
TAG POS=1 TYPE=SELECT FORM=NAME:submitstory ATTR=ID:storyChannel CONTENT=$31
'Это тэги
TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:submitstory ATTR=ID:storyTags CONTENT=dasfadsfadsf
'Это нажимание на кнопку сабмита
TAG POS=1 TYPE=INPUT:SUBMIT FORM=NAME:submitstory ATTR=ID:storySubmitButtonTop&&VALUE:Check<SP>My<SP>Story

Создаем папку(в имакросе) propeller например. Сохраняем это чудо под каким-нить названием, например propeller_post_article.iim.

Далее нужно создать какой-нить файл с данными для статей и поместить его в директорию "datasources" iMacros'а (она в опциях у вас прписана).

Например назовем его propeller_articles.csv, а в него кладем такой текст:

"http://a-xyle.com","A xyle: iMacros","Seo blog for you","26","seo, blog, xyle, ti, palish"

Тут по порядку идут все нужные данные для полей, которые есть выше в коде. Открываем сохраненный ранее скрипт и вписываем туда после "TAB T=1" что то типа

'Подключаем файл с данными о статье
CMDLINE !DATASOURCE propeller_articles.csv
'Количество полей в файле - в нашем случае 5
SET !DATASOURCE_COLUMNS 5
'строка с которой будет начинатся перебор, ну с первой и надо начинать
SET !LOOP 1
'Команда счетчика вообщем, при увеличении LOOP будет переходит на следующую строку
SET !DATASOURCE_LINE {{!LOOP}}

Все тэги с аттрибутом INPUT в скрипте приводим к вот такому виду (COL'ы вместо явного указания данных для ввода, что означает соответствующий элемент из строки из файла данных):

'Это урл
TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:submitstory ATTR=ID:storyUrl CONTENT={{!COL1}}
'Это название статьи
TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:submitstory ATTR=ID:storyTitle CONTENT={{!COL2}}
'Это текст статьи
TAG POS=1 TYPE=TEXTAREA FORM=NAME:submitstory ATTR=ID:storyText CONTENT={{!COL3}}
'Это канал (из списка, выбирается по номерам)
TAG POS=1 TYPE=SELECT FORM=NAME:submitstory ATTR=ID:storyChannel CONTENT=${{!COL4}}
'Это тэги
TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:submitstory ATTR=ID:storyTags CONTENT={{!COL5}}

Так как подписка в пропеллере осуществляется в 2 этапа то в конце надо добавить еще нажатие на кнопку "Submit this story", это так же можно записать и добавить в конец скрипта:

TAG POS=1 TYPE=INPUT:SUBMIT FORM=NAME:submitstory ATTR=ID:storySubmitButtonTop&&VALUE:Submit<SP>this<SP>Story 

Вот что мы получим в итоге:

VERSION BUILD=6030318 RECORDER=FX
TAB T=1
'Подключаем файл с данными о статье
CMDLINE !DATASOURCE propeller_articles.csv
'Количество полей в файле - в нашем случае 5
SET !DATASOURCE_COLUMNS 5
'строка с которой будет начинатся перебор, ну с первой и надо начинать
SET !LOOP 1
'Команда счетчика вообщем, при увеличении LOOP будет переходит на следующую строку
SET !DATASOURCE_LINE {{!LOOP}}
URL GOTO=
http://www.propeller.com/submit
'Это урл
TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:submitstory ATTR=ID:storyUrl CONTENT={{!COL1}}
'Это название статьи
TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:submitstory ATTR=ID:storyTitle CONTENT={{!COL2}}
'Это текст статьи
TAG POS=1 TYPE=TEXTAREA FORM=NAME:submitstory ATTR=ID:storyText CONTENT={{!COL3}}
'Это канал (из списка, выбирается по номерам)
TAG POS=1 TYPE=SELECT FORM=NAME:submitstory ATTR=ID:storyChannel CONTENT=${{!COL4}}
'Это тэги
TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:submitstory ATTR=ID:storyTags CONTENT={{!COL5}}
'Это нажимание на кнопку сабмита
TAG POS=1 TYPE=INPUT:SUBMIT FORM=NAME:submitstory ATTR=ID:storySubmitButtonTop&&VALUE:Check<SP>My<SP>Story
TAG POS=1 TYPE=INPUT:SUBMIT FORM=NAME:submitstory ATTR=ID:storySubmitButtonTop&&VALUE:Submit<SP>this<SP>Story

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

Вот еще пара скриптов в нагрузку, уже без всяких комментариев и т.п.

Голосование одним акком за несколько статей:

VERSION BUILD=6001001 RECORDER=FX
TAB T=1
'!!!SET ACCOUNTS DETAILS HERE!!!
SET !VAR1 username
SET !VAR2 password
'!!!SET URLS FILE HERE!!!
CMDLINE !DATASOURCE urls.csv
'Number of columns in the CSV file. This must be accurate!
SET !DATASOURCE_COLUMNS 1
SET !LOOP 1
'Increase the current position in the file with each loop
SET !DATASOURCE_LINE {{!LOOP}}
URL GOTO=
https://www.propeller.com/signin/
TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:nsform ATTR=NAME:alias CONTENT={{!VAR1}}
SET !ENCRYPTION NO
TAG POS=1 TYPE=INPUTASSWORD FORM=NAME:nsform ATTR=NAMEwd CONTENT={{!VAR2}}
TAG POS=1 TYPE=INPUT:SUBMIT FORM=NAME:nsform ATTR=NAME:formsubmit&&VALUE:Sign<SP>In
URL GOTO={{!COL1}}
TAG POS=1 TYPE=A ATTR=TXT:Vote!
URL GOTO=http://www.propeller.com/signout

VAR1 - имя пользователя, VAR2 - пароль. В файле urls.csv лежат урлы статей по урлу на строку.

Голосование несколькими акками за одну статью:

VERSION BUILD=6001001 RECORDER=FX
TAB T=1
'!!!SET STORY URL HERE!!!
SET !VAR1 
http://news.propeller.com/story/2008/03/18/evanescence-lyrics/
'!!!SET ACCOUNTS FILE HERE!!!
CMDLINE !DATASOURCE accs_prop.csv
'Number of columns in the CSV file. This must be accurate!
SET !DATASOURCE_COLUMNS 2
SET !LOOP 1
'Increase the current position in the file with each loop
SET !DATASOURCE_LINE {{!LOOP}}
FILTER TYPE=IMAGES STATUS=ON
URL GOTO=
https://www.propeller.com/signin/
TAG POS=1 TYPE=INPUT:TEXT FORM=NAME:nsform ATTR=NAME:alias CONTENT={{!COL1}}
SET !ENCRYPTION NO
TAG POS=1 TYPE=INPUT:PASSWORD FORM=NAME:nsform ATTR=NAME:pwd CONTENT={{!COL2}}
TAG POS=1 TYPE=INPUT:SUBMIT FORM=NAME:nsform ATTR=NAME:formsubmit&&VALUE:Sign<SP>In
URL GOTO={{!VAR1}}
TAG POS=1 TYPE=A ATTR=TXT:Vote!
WAIT SECONDS=3
URL GOTO=http://www.propeller.com/signout

VAR1 - урл статьи за которую голосовать. В файле accs_prop.csv должны лежать акки в формате username,password по одному на строку.

Закончим

Это пока все что пришло на ум выложить. Возможно в дальнейшем буду выкладывать такие вот скрипты для распространенных сервисов, щас же пока неохото свое "палить")). Заметьте что для того что бы использовать имакрос вместе с пхп, бэйсиком, сями и всем что взбредет в голову нужно все же раскошеливаться на scripting edition, что меня лично очень огорчает((, но! ройте интернет и будет вам счастье - кряку я точно встречал.

P.S.: Если что то работает не так, то поробуйте нажать кнопку "Обновить список" на закладке редактирование))

P.P.S.: Если есть интерестная идея что неплохо было бы автоматизировать напишите мне, может напишу и выложу. Так же готов писать скрипты на iMacros, iMacros + php, просто php за ссылки, еду, посылки, спасибо и деньги в конце концов)).

Technorati Теги: ,,

Ярлыки: , , ,

1.28.2008

Массовое редактирование файлов через FTP

Давно собирался выложит скрипт, но все руки не доходили ридми написать. А всвязи с тем что на кликфоруме подняли тему данную, то разразился таки описанием.
Вкратце про скрипт.
У Вас есть много файлов и доступ к ним по фтп, есть желание менять на них какой-либо контент когда захочется (ну приветствие там, ссылки, еще что в голову взбредет). Руками все это делать конечно нудно! Так вот скрипту скармливаете все данные фтп, директории, файлы, задаете шаблон который надо заменить, задаете на что надо заменить, запускаете скрипт, делаете свои дела - все. В идеале все должно работать так)) у меня так и работало))
Но плиз при первом использовании осторожно, запросто можно похерить что не надо. Т.е. проверьте на чем-нить левом.
Вот скрипт: change_ftp_files.zip
Внутри есть ридми. Приятного пользования.
С багами и предложениями всех масштабов в комменты.

Ярлыки: , , ,