Автоматическая проверка количества Внешних Ссылок на площадках в SAPE

VSape_chkr v 0.7 (c) shr, 2008-10-11

Содержание

I. Описание и стоимость скрипта

II. Лицензия по использованию и распространению

III. Требования к серверу

IV. Инструкция по использованию

V. Поддержка

VI. Контакты автора

VII. Скриншоты

VIII. Отзывы на SAPE

IX. История изменений

I. Описание и стоимость скрипта | вверх

Скрипт VSape_chkr (далее скрипт) предназначен для автоматической проверки количества внешних ссылок (далее ВС) на страницах площадок в системе купли-продажи ссылок SAPE. Все, что от Вас нужно – это сделать необходимые настройки и запустить его. Скрипт сам пройдет по ссылкам в админке sape вида [Х], где Х – число ВС в базе.

Если количество ВС в базе и на странице не совпадает, оно будет обновлено. Т.е. результат будет такой же, как будто Вы сами вручную выполнили проверку. Обратите внимание на то, что количество ВС будет обновлено, но не обязательно уменьшено (например, робот-проверяльщик sape не успел найти новую ВС).

Стоимость скрипта составляет 10 WMZ в системе Webmoney. Скрипт можно купить в интернет-магазине либо вручную, отправив 10 WMZ на кошелек автора и указав в примечании адрес электронной почты, куда будет выслан скрипт.

Обновлений бесплатно не предоставляется. Каждая следующая версия при желании приобретается на тех же условиях.

Автор не дает никаких гарантий, что скрипт будет корректно работать конкретно у Вас. Возврат webmoney Вам в случае неработоспособности скрипта не осуществляется.

Переводя деньги, Вы тем самым соглашаетесь со всеми условиями и требованиями, описанными в данном документе.

II. Лицензия по использованию и распространению | вверх

Данное лицензионное соглашение относится к VSape_chkr v 0.7

1. Все права, не отраженные в данном соглашении, принадлежат автору скрипта, контакты которого указаны в пункте VI данного документа.

2. Все авторские права на VSape_chkr принадлежат автору скрипта.

3. Автор запрещает распространение скрипта, его частей или модификаций в коммерческих целях, включая распространение в электронных СМИ, конференциях, на магнитных и оптических носителях. Распространение скрипта в некоммерческих целях также запрещено.

4. Скрипт распространяется на условиях «AS IS». Автор не дает никакой гарантии на данный скрипт. Вы используете VSape_chkr на свой риск и под свою ответственность. Автор не несет никакой ответственности за потерянные данные и информацию, любые повреждения и потери, произошедшие вследствие использования скрипта.

5. Используя скрипт, Вы тем самым соглашаетесь с данным лицензионным соглашением.

III. Требования | вверх

1. Очевидно, что для работы php-скрипта необходим php-интерпретатор.

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

3. 3. XML parser (http://www.php.net/manual/en/ref.xml.php), который у вас наверняка есть, если PHP работает как модуль Apache (у большинства людей так и есть).

4. Для работы скрипта лучше, чтобы максимальное возможное время выполнения max_execution_time было больше и работала функция set_time_limit(), т.е. можно было увеличивать время работы скрипта. Но не обязательно.

Это зависит от

- того, как много площадок вы поставите в настройках и сколько страниц на каждой площадке

- того, как быстро Ваш сервер и сервера SAPE обмениваются данными.

IV. Использование | вверх

0. Прежде всего думаете о безопасности – никому не передавайте ссылку на скрипт у себя на сервере и/или лог-файлы. Скрипт в процессе работы передает себе cookie через GET-запрос, я не знаю, как проверяют в sape кукисы, но лучше никому их не показывать. Мало ли…

1. Открываете файл config.php и делаете в нем необходимые настройки.

2. Загружаете все файлы, кроме readme.txt, на сервер.

3. На папку cache (или другую, если вы изменили $temp_dir) выставляете права 777. В ней будут создаваться временные кэш-файлы, в том числе файл log.txt – в нем будут фиксироваться ключевые моменты в работе скрипта. Он может вам помочь, если возникнут какие-то проблемы.

4. Запускаете скрипт login_test.php – это тест логина в админку SAPE. Если на экране вы получите HTTP-заголовки И страницу из админки SAPE, значит можно запускать основной скрипт.

5. Запускаете index.php через браузер по адресу, указанному в переменной $script в файле config.php.

Далее скрипт авторизуется в SAPE, начнет получать списки страниц площадок и выделять из них ссылки для проверки. Если площадок и\или страниц много, то и скрипт может делать это долго. После этого скрипт выдаст сообщение о начале проверки, которая начнется и будет выполняться автоматически.

Если по каким-то причинам SAPE не ответит одним из двух возможных сообщений (количество ВС изменено или совпадает с тем, что в базе), скрипт будет пытаться получить “правильное” сообщение. На данный момент мне известна одна причина – это отсутсвите ответа от вашей площадки (”сайт не отвечает”), в результате чего сама SAPE возвращает “неверное” сообщение о том, что к странице нельзя обращаться раньше, чем через 5 секунд.

Скрипт не содержит “защиты от дурака”, поэтому если вы что-то неверно укажете или не сделаете чего-то из действий, описанных выше, то скрипт будет работать неправильно.

Теперь подробнее о файле log.txt.

Работа основного скрипта index.php состоит из четырех этапов, каждый из которых отражается в лог-файле. Покажу на примере.

1) Скрипт пытается авторизоваться и получает кукис от sape.

26 Feb 22:06:16 – trying to log in. cookie = t%2C455jspri93kqVb3f3GDcMDUoe

2) Если авторизация успешно пройдена, скрипт выкачивает из админки sape страницу с ссылками каждой площадки…

26 Feb 22:06:17 – get site_pages.php?site_id=12345 , size = 352811

26 Feb 22:06:18 – get site links – ok

26 Feb 22:06:32 – get site_pages.php?site_id=54321 , size = 178787

26 Feb 22:06:32 – get site links – ok

26 Feb 22:06:37 – get site_pages.php?site_id=67890 , size = 30570

26 Feb 22:06:37 – get site links – ok

(площадки изменены, совпадения случайны)

…парсит ее. Те страницы, где количество ВС и проданных ссылок не совпадает, записываются в кэш-файлы в папку cache (или другую, если вы изменили $temp_dir).

get site links – ok означает, что страницы для проверки есть и скрипт будем их чекать.

get site links – 0 ext links значит на этой площадке проверять нечего (у меня таких площадок не было для тестов, поэтому фактически не видел такой записи в логах, но вроде у кого-то из бета-тестеров работало)

3) После получения страниц с sape и их парсинга, происходит перенаправление

26 Feb 22:06:37 – redirect to ?c=t%2C455jspri93kqVb3f3GDcMDUoe&lc=36&t=1204052797&cl=0

4) Выводится сообщение о начале проверки и собсвенно дальше идет проверка. Принцип предельно прост – если в папке cache кэш-файлов не найдено, то проверять нечего. Если файлы есть, скрипт из первого попавшегося берет ссылку и чекает ее. Если ответ “правильный” (см. выше про “правильное” сообщение), эта ссылка удаляется из файла.

Через тайм-аут действия повторяются. В конце концов в логе последней будет строка

26 Feb 22:13:25 – check site links finished

Обратите внимание: Лог перезаписывается при повторном запуске index.php.

V. Поддержка | вверх

Если возникнет потребность в получении помощи \ консультации от автора скрипта, Вы можете сделать символический донейт в размере 1 WMZ и тогда на все Ваши вопросы я отвечу лично по e-mail или icq.

VI. Контакты автора | вверх

контакты автора

VII. Скриншоты | вверх

Удачный логин

Количество ВС на странице и в базе совпадает

Количество ВС в базе обновлено

Проверка завершена.

VIII. Отзывы на SAPE | вверх

Подумал: “Хорошо, если отзывы будут оставлять.” Теперь оставляют, в этой теме на SAPE.

IX. История изменений | вверх

v 0.7

+ Переход на использование SAPE XML-RPC. Это делает скрипт абсолютно независимым от дизайна SAPE. Использована реализация XML-RPC для PHP v2.5f by Keith Devens, с небольшими дополнениями от автора VSape_chkr.
+ Добавлена возможность авторизации передачей md5 хэша от пароля. Возможность логина с передачей пароля в открытом виде сохранилась.
+ Теперь проверяются только страницы со статусом ОК – решено зря не мучить свой сервер и SAPE.
~ Названия некоторых функций изменены

v 0.6

~ фикс: после изменения дизайна SAPE функция get_site_links получала данные не по всем страницам площадки, а только по первым 100 страницам (настройка SAPE по умолчанию в новом дизайне), соответственно эта недоработка была исправлена добавлением параметра ps=-1 к запросу; спасибо Сергею (sergey_kusa) за то, что обнаружил эту ошибку

v 0.5

+ добавлен автоматический выбор случайного сервера, помогает, если скрипт не соединяется с основным сайтом SAPE или зеркалами

~ исправлен баг, когда кэш-файлы создавались, даже если проверять на площадках ничего не нужно

v 0.1 – 0.4

~ исправление багов, изменение кода под новый дизайн SAPE

Написать комментарий