Вернуться   Форум SAPE.RU > Система SAPE.ru > Вопросы по работе системы

-->
Ответ
 
Опции темы
Старый 13.07.2010, 00:53   #11
Специалист
 
Регистрация: 13.06.2010
Сообщений: 103
Вес репутации: 173
Horrower скоро станет известен
По умолчанию

не из какого-то, а из самописного. у меня много полезных скриптов под сапу сделано.

а чего вам тут не хватает? выдернуть XLS не сможете? или курловый запрос сделать с авотризацией и поддержкой кук? )))

пожалуйста, епт

ну давай, да, выдерай извещения чтобы понять статус слипа - модифи или баланс. удачи тебе в этом нелегком деле
Horrower вне форума   Ответить с цитированием
Старый 13.07.2010, 13:56   #12
Специалист
 
Регистрация: 03.10.2008
Сообщений: 222
Вес репутации: 201
snooker - это имя известно всемsnooker - это имя известно всемsnooker - это имя известно всемsnooker - это имя известно всемsnooker - это имя известно всемsnooker - это имя известно всем
По умолчанию

Цитата:
Сообщение от Horrower Посмотреть сообщение
не из какого-то, а из самописного. у меня много полезных скриптов под сапу сделано.
Видимо, много написано геморроя.

Цитата:
Сообщение от Horrower Посмотреть сообщение
пожалуйста, епт

ну давай, да, выдерай извещения чтобы понять статус слипа - модифи или баланс. удачи тебе в этом нелегком деле
Есть такая штука http://www.sape.ru/api_xmlrpc.php , стоит разобраться и не надо ничего выдирать и насиловать интерфейс. Специально для таких Кулибиных сделано.
snooker вне форума   Ответить с цитированием
Старый 13.07.2010, 19:17   #13
Специалист
 
Регистрация: 13.06.2010
Сообщений: 103
Вес репутации: 173
Horrower скоро станет известен
По умолчанию

Цитата:
Сообщение от snooker Посмотреть сообщение
Видимо, много написано геморроя.
Дак да и вэйты снимаются сами через 4 дня, вметсто 14-и; ошибки на куче статическхи сайтах исправляются сами (включая поврежденные файлы) и слипы снимаются модифайные и балансовые с разными критериями.


Я уже общался с администрацией по этому поводу. Все как один говорят юзать АПИ. Но, лучше один раз загрузить один SQL-запрос для всех слипов (А их не бывает больше 1к), чем дрючить извещения по АПИ.

почитай доки, обоснуй свою точку зрения? )) ты хоть знаешь какие надо сделать запросы в АПИ, что бы вытащить статус слипа? "в москву через америку"

Вот то, чем ты собираешься заняться, называется геморрой.

Последний раз редактировалось Horrower; 13.07.2010 в 19:23.
Horrower вне форума   Ответить с цитированием
Старый 13.07.2010, 20:18   #14
Специалист
 
Регистрация: 03.10.2008
Сообщений: 222
Вес репутации: 201
snooker - это имя известно всемsnooker - это имя известно всемsnooker - это имя известно всемsnooker - это имя известно всемsnooker - это имя известно всемsnooker - это имя известно всем
По умолчанию

Цитата:
Сообщение от Horrower Посмотреть сообщение
Я уже общался с администрацией по этому поводу. Все как один говорят юзать АПИ. Но, лучше один раз загрузить один SQL-запрос для всех слипов (А их не бывает больше 1к), чем дрючить извещения по АПИ.
У меня 3к слипов ежедневно, дергать страницы интерфейса каждые три часа - вот 504 и появится. Конечно, это геморрой сапы и остальных пользователей?

Цитата:
Сообщение от Horrower Посмотреть сообщение
почитай доки, обоснуй свою точку зрения? )) ты хоть знаешь какие надо сделать запросы в АПИ, что бы вытащить статус слипа? "в москву через америку"
Вот и почитай на досуге. Статус слипа легко определяется по времени:
[date_blocked]=> IXR_Date Object
(
[year] => 2010
[month] => 07
[day] => 13
[hour] => 23
[minute] => 59
[second] => 59
)
Вот рабочий пример собирания всех слипов через апи, ничего не парся, не напрягая интерфейс, не создавая геморрой окружающим, собирает 3к слипов с 70 площадок за 8 секунд. Разница с твоим произведением видна?
PHP код:
<?php
require('IXR_Library.inc.php');
$login ="***";
$pass ="***";
$ljClient = new IXR_Client('www.sape.ru''/api_xmlrpc.php');
if (!
$ljClient->query('sape.login'$login$passtrue)) {
    echo 
'Ошибка запроса ['.$ljClient->getErrorCode().'] '.$ljClient->getErrorMessage();
}
else {
    
$ljResponse $ljClient->getResponse();
        if (!
$ljClient->query('sape.get_sites')){
            echo 
'Ошибка запроса ['.$ljClient->getErrorCode().'] '.$ljClient->getErrorMessage();
        }
        else {
            
$ljResponse $ljClient->getResponse();
            
$siteids=$ljResponse;
             foreach(
$siteids as $id) {
                 if (!
$ljClient->query('sape.get_site_links',$id["id"],'SLEEP')){
                       echo 
'Ошибка запроса ['.$ljClient->getErrorCode().'] '.$ljClient->getErrorMessage();
                }else {
                    
$ljResponse $ljClient->getResponse();
                    echo 
"<pre>";
                    
print_r($ljResponse);
                    echo 
"</pre>";
               }
            }
       }
}
?>
snooker вне форума   Ответить с цитированием
Старый 14.07.2010, 01:37   #15
Специалист
 
Регистрация: 13.06.2010
Сообщений: 103
Вес репутации: 173
Horrower скоро станет известен
По умолчанию

дак и что ты этим определил? время? а статус модифи или баланс ты определяешь по времени? а то, что некоторые агрегаторы подстраиваются под время самы -- ты подумал об этом? ))
кстати, моё выдерание страницы знимает где-то полторы-две секунды и не дергает при этом оповещения.

Цитата:
Сообщение от snooker Посмотреть сообщение
Вот и почитай на досуге. Статус слипа легко определяется по времени
Неужели? Давай айди своих площадок, у агрегатора я закажу миллиард слипов на 23.59.59

ну и давай проанализируем количество SQL запросов? )

И, давай подумай, гений, сколько ты использвал SQL запросов и каких, и сколько я. Один только твой запрос
foreach($siteids as $id) {
if (!$ljClient->query('sape.get_site_links',$id["id"],'SLEEP')){
....
уже совершает SQL для каждой твоей площадки и выдерает все слипы.

А я юзаю ОДИН sql-запрос(хоть с тремя джоинами, я так думаю), который и то кешируется вместе с ХТМЛ на фронт-енде.

не спорь, умник, ты пробираешь по площадкам запросы, а я беру готовое блюдо. ты нагружаешь систему больше чем я, причем в "+ <№cайтов>" как минимум

ладно, тут ты слил. Давай предположим какие джоины использовал ты и какие я, что бы сопоставить нагрузку? Даже если get_site_links равно моей выборке всех ссылок, то, ты уже проиграл, потому что ты обращаешься 70 (или скока там у тебя сайтов?) раз, а я один, c id=-1(видимо, или хз как там). И опять ты слил, какая жалость




p/s что за сокращения переменных и никаких префиксов? еле код твой прочитал, кури ман С и затем стнадртизации Зенда.

/pps скока лет кодишь? хочешь помериться хвостами? Кое-кто тут очень дерзкий че-то замолчал при моих вопросах. Амбициозный - давай измерим в личке, нефиг тут выносить победы и проигрыши

Добавлено через 23 минуты
выкуси, пыхопэер


[WOKRER] Script started at Tue, 13 Jul 2010 16:15:01 +0400
[ SAPE ] Getting SAPE sites list
[ SAPE ] Got CVS with all sites ID's from CACHE
[ SAPE ] Parsing all SLEEP links from HTML page
[FILTER] 676 links before perform filter `__Filter__Delete_Sleep_Balance_Day_More_Than` with param 4
[FILTER] 42 links will be affected after perform `__Filter__Delete_Sleep_Balance_Day_More_Than` with param 4
[FILTER] 42 links before perform filter `__Filter__Delete_Sleep_Modify_Day_More_Than` with param 0
[FILTER] 42 links will be affected after perform `__Filter__Delete_Sleep_Modify_Day_More_Than` with param 0
[ SAPE ] Start deleting links. Total links to be deleted: 42
[ SAPE ] Sending request #1 for deleting links ...
[ SAPE ] Sending request #2 for deleting links ...
[ SAPE ] Sending request #3 for deleting links ...
[ SAPE ] Sending request #4 for deleting links ...
[ SAPE ] Sending request #5 for deleting links ...
...
[ SAPE ] All Links are deleted. Total links deleted: 42
[WOKRER] Script ends at Tue, 13 Jul 2010 16:15:37 +0400


да я использую много запросов на удаление из-за особенностей каскадностей таблиц и больших размеров данных. Говори чо хошь - это дело каждого. Даже сапа пользуется этим правилом и посылает запросы лишь на 39 ссылок за раз (или 36, ну в общем не много) при удаление\деактивации и тд и тп

за 36 секунд я парсю страницу и успеваю послать 33 запроса на удаление слипов, каждый из которых занимает где-то 1 секунду. т.е. я получаю слипы за 3 секунды(это ещё при том, что я прохожу авторизацую в систему и только потом выдергиваю ХТМЛ в слипами), так что думаю, что это где-то раз в 5-6 быстрее, чем ты юзаешь АПИ. и это ещё при том, что у меня весь канал загружен торрентами, парсерами и прочей фигней.

нннну?

p/s в форуме есть бага. могу показать =)

Последний раз редактировалось Horrower; 14.07.2010 в 01:38. Причина: Добавлено сообщение
Horrower вне форума   Ответить с цитированием
Старый 14.07.2010, 12:55   #16
Специалист
 
Регистрация: 03.10.2008
Сообщений: 222
Вес репутации: 201
snooker - это имя известно всемsnooker - это имя известно всемsnooker - это имя известно всемsnooker - это имя известно всемsnooker - это имя известно всемsnooker - это имя известно всем
По умолчанию

Horrower, что ты мне хочешь доказать? Что твои скрипты парсинга интерфейса эффективнее api? И хочешь доказать это с помощью агрегаторов, которые используют почему то тоже api?
Уверяю тебя - это бессмысленное занятие. Очевидно, что у тебя есть большой пробел в знании xml-rpc, но ты его легко замещаешь с помощью регэкспов. Но это не означает правильность решения.
Можно с помощью топора виртуозно завалить дерево, но бензопила делает это быстрее и эффективнее, так как она для этого и предназначена.

Попробую объяснить на пальцах.
1) страница интерфейса содержит кучу ненужного кода, время генерации страницы в разы больше чем ответы по api. Использование кеша в данном случае не дает никакого толка, просто смысла нет дергать по нескольку раз закешированную информацию, когда нужна актуальная.
2) что можно напарсить со страницы интерфейса?
PHP код:
<tr class="highlighted"><td class="ca"><a href="http://www.sape.ru/links_errors_stats.php?id=*****&amp;mode=1" class="icon_stat stat_sleep" title="Ссылка снята из-за нулевого баланса
 оптимизатора"
>SLEEP</a><small>B:&nbsp;13.07.10</small></td><td>13.07.2010</td><td class="a_visited">
        <
div class="long_link_box">
            <
div class="long_link">
                <
a href="http://*****************.html" target="_blank" title="http://******************.html -- 
откроется в новом окне"
>******************.html</a>
            </
div>
            <
div class="long_link_hidder">&nbsp;</div>
        </
div>
    </
td><td class="_text">Подъемники 10-30 метров: <u>грузовые 
подъемники
</u>. Строительные люльки и подъемники.</td><td class="_url 
a_visited"
>
        <
div class="long_link_box">

            <
div class="long_link">
                <
a href="http://******************" target="_blank" title="http://****************** -- 
откроется в новом окне"
>******************</a>
            </
div>
            <
div class="long_link_hidder">&nbsp;</div>
        </
div>
    </
td><td class="ca">3</td><td class="ca">0</td><td class="ra">5,00</td><td><input id="o_4" name="pl[******************]" value="******************" type="checkbox"></td></tr
Практически ничего, так как даже нет времени снятия ссылки, только дата, нет id сайта, площадки, зато есть куча кода. Что делать с этой информацией? Распарсить, то есть затратить еще немного ресурсов после получения документа. Апи отдает все сразу в удобном массиве:
PHP код:
Array
        (
            [
id] => 152888888888
            
[status] => SLEEP
            
[page_id] => 3333333333
            
[url] => http://www.************.html
            
[txt] => Community Center.
            [
price] => 3.5
            
[price_new] => 0
            
[date_placed] => IXR_Date Object
                
(
                    [
year] => 2010
                    
[month] => 03
                    
[day] => 25
                    
[hour] => 17
                    
[minute] => 07
                    
[second] => 22
                
)
            [
date_blocked] => IXR_Date Object
                
(
                    [
year] => 2010
                    
[month] => 07
                    
[day] => 03
                    
[hour] => 07
                    
[minute] => 11
                    
[second] => 17
                
)
            [
flag_context] => 0
            
[site_id] => 111111
            
[domain_id] => 22222222
        

3) Верстка интерфейса регулярно меняется, соответственно скрипты парсеров должны регулярно модифицироваться. Скрипт на апи работает годами.
4) Универсальность кода - мой скрипт по сбору слипов в одно движение превращается в скрипт по сбору ERROR, WAIT_SEO или WAIT_WM. Парсер еще нужно затачивать.
5) Функциональность. Парсер может парсить, а через апи можно принимать ссылки, отклонять, добавлять в БЛ, избранное и т.п.

Если эти вещи не очевидны, то, ради бога, пользуйтесь своими топорами на здоровье, только не надо их предлагать где не попадя, в урезанном виде (потому что огромные), и особенно там, где в теме написано крупными буквами API.
Доказывать что снег белый, а уголь черный я не собираюсь. Ок?
snooker вне форума   Ответить с цитированием
Старый 14.07.2010, 16:18   #17
Специалист
 
Регистрация: 13.06.2010
Сообщений: 103
Вес репутации: 173
Horrower скоро станет известен
По умолчанию

вообще-то айди сайта дергается из ХЛС-а как я уже писал выше.

и ты делаешь 70 запросов, а я один. это я уже тоже писал выше.

агрегаторы по-этому и юзаю апи, потому что им нужно максимум информации.

а мой скрипт дергает дату покупки, дату слипа, статус слипа, айди ссылки и айди площадок. этого достаточно чтобы понять намерения оптимизатора и послать запросы на удаление ссылок.

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

да, верстка - это единственный минус.
после пункта 3 тебя куда-то понесло уже в другую ветку форума и для этого у меня другие парсеры есть, ага =)

p/s у тебя наверное рядом с монитором стоит рамка, в которой та самая картинка, которая "в интернете кто-то не прав"
Horrower вне форума   Ответить с цитированием
Старый 14.07.2010, 19:05   #18
Специалист
 
Регистрация: 03.10.2008
Сообщений: 222
Вес репутации: 201
snooker - это имя известно всемsnooker - это имя известно всемsnooker - это имя известно всемsnooker - это имя известно всемsnooker - это имя известно всемsnooker - это имя известно всем
По умолчанию

Цитата:
Сообщение от Horrower Посмотреть сообщение
кстати, мой запрос быстрее твоего в несколько раз это ты че-то не опровергнул
Что тут опровергать? У тебя слипов "не бывает больше 1к", и площадок не больше десятка.
Цитата:
Сообщение от Horrower Посмотреть сообщение
да, верстка - это единственный минус.
Основной, но далеко не единственный.

Цитата:
Сообщение от Horrower Посмотреть сообщение
p/s у тебя наверное рядом с монитором стоит рамка, в которой та самая картинка, которая "в интернете кто-то не прав"
А у тебя, видимо, манера блеснуть эрудицией где не надо и не по теме.
Эта тема про АПИ, я, конечно, проникся твоим желанием помочь и даже понимаю почему ты обиделся, когда помощь не понадобилась, просто это выглядело не совсем к месту и не по адресу.
К примеру, у меня стаж вождения 12 лет, решил я подрифтовать на площадке, подъехал чувак с восклицательным знаком и стал объяснять мне, что, мол, на переднем приводе так не заносит как меня. С одной стороны, человек прав, но с другой он абсолютно не в теме что я тут делаю и зачем.
snooker вне форума   Ответить с цитированием
Старый 31.07.2010, 14:03   #19
Специалист
 
Регистрация: 13.06.2010
Сообщений: 103
Вес репутации: 173
Horrower скоро станет известен
По умолчанию

Цитата:
Сообщение от snooker Посмотреть сообщение
Что тут опровергать? У тебя слипов "не бывает больше 1к", и площадок не больше десятка.
какая разница? на одинаковых количествах слипа твои запросы все равно будут выполняться медленнее

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

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

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

и я не пытаюсь доказать что я умнее
Horrower вне форума   Ответить с цитированием
Ответ


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вывод ссылок sleep (М) отдельно от sleep (В) maldivec Пожелания пользователей системы 7 30.03.2010 15:56
В и М в Sleep Fhneh Вопросы по работе системы 4 20.12.2009 13:05
SLEEP grach5 Вопросы по работе системы 6 01.07.2009 13:18
Sleep c 30.12.08 Jooz Ошибки при работе с системой 6 10.04.2009 15:29
BC при SLEEP-e Kiparis Ошибки при работе с системой 4 21.08.2008 11:06


Часовой пояс GMT +3, время: 16:06.