Javascript-форум (https://javascript.ru/forum/)
-   Оффтопик (https://javascript.ru/forum/offtopic/)
-   -   Люблю конкурсы :) (https://javascript.ru/forum/offtopic/31706-lyublyu-konkursy.html)

dmitry111 17.09.2012 19:55

Люблю конкурсы :)
 
Я пользуюсь хостингом компании http://sprinthost.ru

Хостинг так себе, даже не охота оплачивать следующий год :)

Сегодня от них пришло письмо с интересным конкурсом.

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

Приз 500 рублей на счет (щедрость то какая :D ).

Конечно лазить по сайту (чуть меньше 300 урлов) 6 недель - глупо.
Тут чисто спортивный интерес.

Картинки выглядят вот так:









Методом тыка наткнулся на две из них вот тут (низ правый угол):
http://sprinthost.ru/tariffs/dedicated.html
и тут:
http://sprinthost.ru/docs/billing.html



К чему это все и при чем тут js?
Как и у любого сайта у них есть sitemap http://sprinthost.ru/sitemap.xml

Там все урлы.

с помощью регулярных выражений можно разбить этот список на урлы в массиве:

var arr = xxx.split(" ");

            for( var i = 0, len = arr.length; i < len; i++ ) {
                var key = c[i];


Каждая картинка имеет одинаковые параметры width="20" height="29"

Поискать на страницах картинки с этими параметрами (как, пока еще думаю) и дело в шляпе..


Страница конкурса http://sprinthost.ru/news/20120917.html

Dim@ 17.09.2012 20:02

да там легко их искать

Dim@ 17.09.2012 20:08

вот всем буркмарклет::) :) :)
javascript:for (var i = 0; i < document.images.length; i++) {if (/http\:\/\/sprinthost\.ru\/img\/runen\/*/.test(document.images[i].src))alert(document.images[i].src)};void 0

Serg_pnz 17.09.2012 20:08

Цитата:

Как и у любого сайта у них есть sitemap
очень спорное утверждение)))

Я бы выкачал сайт ну тем же телепортом и вивером поискал бы картинки, имхо так быстрее))

Дзен-трансгуманист 17.09.2012 20:12

Цитата:

Сообщение от dmitry111
Поискать на страницах картинки с этими параметрами (как, пока еще думаю)

Делаешь букмарклет, который читает sitemap.xml, затем создает фрейм и подгружает по очереди все страницы. Для каждой страницы выполняешь поиск среди document.images по src начинающемуся с http://sprinthost.ru/img/runen/, и запоминаешь url страницы, если изображение найдено. В конце цикла выводишь полученный список любым удобным способом.

Остается кликнуть по закладке на любой странице сайта -
Цитата:

Сообщение от dmitry111
и дело в шляпе


dmitry111 17.09.2012 20:13

вот еще одна http://sprinthost.ru/tariffs/abo.html

dmitry111 17.09.2012 20:14

о кстати хорошая идея :)

dmitry111 17.09.2012 20:15

я о document.images даже и не думал :) спасибо

Dim@ 17.09.2012 20:17

Дзен-трансгуманист,
ололо, ты кажись забыл о политике безопасности (я не проверял, но уверен что не сработает)

Dim@ 17.09.2012 20:17

dmitry111,
не прокатит

Дзен-трансгуманист 17.09.2012 20:29

Dim@,
А зачем реги? Я бы просто написал
if (!document.images[i].src.indexOf("http://sprinthost.ru/img/runen/"))


Цитата:

Сообщение от Dim@
ты кажись забыл о политике безопасности

Думаю, в выборе браузера ТС не ограничен. Пусть берет тот, в котором этих ограничений нет. ;)

И вообще, это же не XSS, в самом-то деле, ё-моё.

dmitry111 17.09.2012 20:48

все должно сработать, ща чуть позже доделаю с проверкой src у document.images

Dim@ 17.09.2012 23:45

Цитата:

Сообщение от Дзен-трансгуманист
Думаю, в выборе браузера ТС не ограничен. Пусть берет тот, в котором этих ограничений нет.

И вообще, это же не XSS, в самом-то деле, ё-моё.

ого как мыслишь - я тоже так думал когда то, писал скрипт для прокачки в он-лайн игре на JS, но столкнулся с ПБ и тогда забил на эти ограничения и не искал подписки скриптов в НБ (настройках браузера), ща поищу:D

Дзен-трансгуманист 18.09.2012 00:23

javascript:(function(){
var d=document,f,e,s=[],i,j,t,g,b;
function n(){
  if(f){d.body.removeChild(f);}
  f=d.body.appendChild(d.createElement("iframe"));
}
function o(){
  try{
    e=f.contentDocument.images;
    for(j=0;j<e.length&&e[j].src.indexOf("http://sprinthost.ru/img/runen/");j++){}
    if(j!=e.length){i++;}
    else{s.splice(i,1);}
    g++;
  }
  catch(e){
    s.splice(i,1);
    n();
    f.onload=o;
    b++;
  }
  d.title="+"+g+" / -"+b+" / "+t+" / found "+i;
  if(i!=s.length){f.src=s[i];}
  else{
    e=d.body.appendChild(d.createElement("pre"));
    e.innerHTML=s.join("\n");
  }
}
n();
f.onload=function(){
  e=f.contentDocument.getElementsByTagName("loc");
  t=e.length;
  for(i=0;i<t;i++){s[i]=e[i].innerHTML;}
  n();
  f.onload=o;
  f.src=s[i=g=b=0];
};
f.src="/sitemap.xml";
})()


Данную хреновину запустил в Хроме. Из 235 страниц найдено 4 с рунами:

http://sprinthost.ru/tariffs/premium.html
http://sprinthost.ru/tariffs/dedicated.html
http://sprinthost.ru/tariffs/abo.html
http://sprinthost.ru/docs/billing.html

Однако 15 страниц из общей пачки редиректятся на https - они, само собой, не были проверены, ибо access violation.

Dim@ 18.09.2012 00:33

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

Дзен-трансгуманист 18.09.2012 00:34

Цитата:

Сообщение от Dim@
писал скрипт для прокачки в он-лайн игре на JS

Да уж, открывай теперь клуб юных ботоводов.))

Дзен-трансгуманист 18.09.2012 00:36

Цитата:

Сообщение от Dim@
они не успели сделать все руны

Цитата:

Сообщение от dmitry111
Каждую неделю по 4 картинки, всего 6 недель, итого 24 картинки на страницах их сайта.

Ну, все правильно, и должно быть счас 4 штуки.

dmitry111 18.09.2012 09:47

да там каждую неделю по 4 новых картинки..

Дзен-трансгуманист,
Ну вот, теперь желающие могут получить скидочку на хостинг. ;)

Serg_pnz 18.09.2012 10:22

Цитата:

/img/runen/
Устроителям надо бы это шифровать, хотя кому оно надо... мы вот волей-не волей познакомились с новым хостингом.

Dim@ 18.09.2012 14:59

Дзен-трансгуманист,
кароч все - запомни через пять недель напоминаешь нам всем о этой штуке, запускаем её на сайте и дело в шляпе - всем по 500р. :)

Дзен-трансгуманист 18.09.2012 15:22

Цитата:

Сообщение от Dim@
запомни

Кому надо, тот пусть и запоминает.
А лучше занимались бы более полезными делами, а не всякой ерундой за 500р.))

Dim@ 18.09.2012 15:27

Дзен-трансгуманист,
окей я запомню

Дзен-трансгуманист 18.09.2012 15:39

Dim@,
Просто это тот случай, когда интерес вызывает сама задача, а не выгода от ее решения. :)

Dim@ 18.09.2012 16:11

Дзен-трансгуманист,
ет верно

del1rium 23.10.2012 13:36

Почему-то скрипт обрабатывает 222 из 236 страниц( Никак не могу отыскать последнюю руну.

Tim 23.10.2012 14:31

Это хороший способ заставить юзеров изучать сайт. А то не смотрят же, а у тебя там столько интересного. Нужно взять на заметку.

Дзен-трансгуманист 23.10.2012 14:33

Цитата:

Сообщение от del1rium
Почему-то скрипт обрабатывает 222 из 236 страниц(

:)
Там редирект на https, эти урлы надо отдельно собрать из первого скрипта и запускать их уже в немного видоизмененном скрипте на одной из https-страниц.

Ну что, ТС, допилишь фичу? :D

del1rium 23.10.2012 14:38

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

dmitry111 24.10.2012 09:25

о, моя старая тема :)

del1rium, а оно вам надо? За 500 рублей )))


Дзен-трансгуманист,
Это при том условии что в sitemap перечислены все страницы сайта.

del1rium 24.10.2012 12:37

dmitry111, не особо, но сдается мне, что одна руна отсутствует напрочь. А это не есть хорошо.

Дзен-трансгуманист 24.10.2012 13:04

Цитата:

Сообщение от dmitry111
Это при том условии что в sitemap перечислены все страницы сайта.


Ну само собой, что там могут отсутствовать, например, страницы аккаунта. А вернее, скорее всего, что так оно и есть. Ведь у поисковиков все равно к ним нет доступа. :)


Цитата:

Сообщение от dmitry111
del1rium, а оно вам надо? За 500 рублей )))

Цитата:

Сообщение от dmitry111
Тут чисто спортивный интерес.

;)

del1rium 24.10.2012 14:57

Я заметил, что скрипт не обрабатывает ссылки 2го уровня вложенности и далее, т.е. руны есть на страницах /n1/n2, а не только /n1/ видимо именно поэтому скрипт не обрабатывает оставшиеся 15 страниц. Как бы это в скрипте поправить?

Дзен-трансгуманист 24.10.2012 15:03

Цитата:

Сообщение от del1rium
Как бы это в скрипте поправить?

Если вы Чак Норрис - можно ногами.

zzzte 29.10.2012 17:29

доступны все 24 руны.


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