1. Ссылки покупок

    Стратегия на турбо опционы

    Обучение по Бинарным Опционам.

    Бизнес по рецепту. продажа женских товаров

    Мануал по добыче бесплатного трафика с поисковика Bing (2016)

    От 6к уникальных посетителей на страницу ВК

    Facebook

    Стратегия Лайв Профит - ставки на футбол

    [Ирина Шмидт] - Церебро Таргет 2016

    Новый дорген.

    Стратегия на спорт.

    Двойной арбитражник по бесплатному трафику (2016)

    Подробная инструкция по Созданию интернет магазина чая с нуля (2016)

    Чертежи солнечного био-вегетария площадью 1200 кв.м. (СБВ-Профи)

    Адский стрим по копирайтингу: то чувство, когда подглядывать - хорошо!

    Видео-Курс - Tехнология быстрого старта в email рассылках (2016)

    Продвижение партнерских программ в одноклассниках (2016)

    Научу грести трафик. Только успевай сервера покупать!

    Трафик из ВК (Схема + Кейсы)

    Пассивный доход со стабильными выплатами.Схема добычи трафика.

    Секрет создания аккаунта яндекс директ без НДС

    Система ставок от проверенного каппера

    Государственный и банковский конфискат +VIP блок (2016)

    Как работать и зарабатывать деньги на продвижении своих проектов (2016)

    Секреты бесплатной рекламы от бывшего сотрудника Вконтакте

    Mobile Арбитраж - Арбитраж мобильного трафика (2016)

    BUSINESS MANUAL - Безопасные схемы заработка

    Как получать 1000-и заказов из CPA сетей (Дм.Ковпак)

    Как зарабатывать удаленно 100 тыс. руб на продвижении в Инстаграме без вложений и жить в Тайланде

    Самонаполняемые Видео-сайты!

    Прибыльная стратегия для бинарных опционов, первый доход через считанные дни + бонус!

    Траф с Вк за копейки

    Профит на онлайн теме от 30к до Неизвестно в месяц

    Легальный высокодоходный бизнес в реале

14.Mассив, NaN. Сбор ссылок.

  1. Ostapbl4
    Offline

    Ostapbl4 Команда форума Местный
    Начать переписку

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

    Кроме того, если в выдаче нам дается рекламный топик, или топик на канал, то кол-во просмотров там не находится в том месте где у обычного топика. В случае, когда наша функция parseInt() не сможет вывести число, она будет возвращать NaN. Эта такая фишка в джаваскрипте называется НЕЧИСЛО. То есть, все топики которые возвращают нам NaN и stroka<1000 нас не интересуют:
    Код:
    var minKolvo =1000 //обозначаем минимальное количество просмотров
    
    var stroka = content.document.getElementsByClassName('yt-lockup-meta')[0].innerHTML //присваеваем переменной stroka значение с которым будем работать
    stroka=stroka.replace(/\&nbsp;/g, "") //удалит все символы &nbsp; из нашей строки
    stroka=stroka.replace(/\s+/g, "") //удалит все пробелы из нашей строки
    stroka = stroka.split('</li><li>')[1]// разделим содержимое переменной stroka и оставим только вторую часть. Джаваскрипт, как всегда, считает с 0
    stroka = parseInt(stroka)
    
    if (stroka>minKolvo ){
    //если строка больше минимально нужного количества значит выполняем этот код
    }
    если число просмотров у нас больше минимально нужного выполняем код в скобках. По-хорошему тут бы еще поставить условие на NaN, но я проверил, NaN не больше 1000, поэтому оставим эту доработку на потом, а пока двигаемся дальше:
    Код:
    var arrUrl = [] //создаем массив в который будем добавлять ссылки на видосики
    var minKolvo =10000 //обозначаем минимальное количество просмотров
    var kolvoTopikov = content.document.getElementsByClassName('yt-lockup clearfix yt-uix-tile yt-lockup-video yt-lockup-tile').length //количество топиков на странице
    for (i=0;i<kolvoTopikov;i++){
    var stroka = content.document.getElementsByClassName('yt-lockup-meta')[i].innerHTML //присваеваем переменной stroka значение с которым будем работать
    stroka=stroka.replace(/\&nbsp;/g, "") //удалит все символы &nbsp; из нашей строки
    stroka=stroka.replace(/\s+/g, "") //удалит все пробелы из нашей строки
    stroka = stroka.split('</li><li>')[1]// разделим содержимое переменной stroka и оставим только вторую часть. Джаваскрипт, как всегда, считает с 0
    stroka = parseInt(stroka)
    
    if (stroka>minKolvo ){//если строка больше минимально нужного количества и не NaN выполняем этот код
    var url = content.document.getElementsByClassName('yt-uix-sessionlink yt-uix-tile-link yt-ui-ellipsis yt-ui-ellipsis-2')[i].href//выбираем ссылку в переменную url
    
    arrUrl.push(url)//добавляем url в массив
    iimDisplay('количество ссылок : '+ arrUrl.length+'  Ссылки : '+ arrUrl) //выводим на экран
    }
    }
    Теперь разбор по строкам:
    Код:
    vararrUrl=[]//создаем массив в который будем добавлять ссылки на видосики
    Квадратные скобки указывают что мы создали пустой массив. Если бы их не было, то была бы просто переменная как мы уже знаем. Дамные в масиве разделяются через запятую. То есть если бы на нужно было бы создать массив со значениями, мы бы написали примерно следующее:
    Код:
    varprimerMassiva=[1,2,'ястрока',10,15]
    Другими словами мы создали массив ‘primerMassiva’ и сходу впихнули туда 5 различных элементов. Про такое говорят «Длина массива равна 5» Чтоб его померять нам нужно использовать метод length:
    Код:
    var primerMassiva=[1,2,'ястрока',10,15]// создали массив в качестве примера
    var dlinaMassiva=primerMassiva.length// создали переменную dlinaMassiva в которую поместили значение длины массива primerMassiva
    alert(dlinaMassiva)// вывели результат переменной dlinaMassiva на экран
    не поленитесь, запустите этот код в нашем файлике ‘тренировочный.js’. Массив это очень удобная штука, его желательно понять, а пока вернемся к разбору нашего кода. Строка номер 3:
    Код:
    var kolvoTopikov=content.document.getElementsByClassName('yt-lockup clearfix yt-uix-tile yt-lockup-video yt-lockup-tile').length//количество топиков на странице
    Тут мы снова используем метод length. Он считает количкество элементов с классом
    Код:
    'yt-lockup clearfix yt-uix-tile yt-lockup-video yt-lockup-tile'
    Этот класс на странице использует тег главный div который отвечает за вывод топика:

    [​IMG]

    Для чего мы считаем количество топиков и помещаем эти данные в переменную kolvoTopikov? Правильно. Чтоб потом сделать столько циклов по сбору ссылок. За это и отвечает строка 4 нашего кода:
    Код:
    for(i=0;i<kolvoTopikov;i++){
    В ней первым параметром создаем переменную i, которой присвоим значение 0. Циклы будут выполняться до тех пор пока их количество не будет равно количеству топиков на странице.

    А теперь обратите внимане на хитрый ход в строке 5:
    Код:
    var stroka = content.document.getElementsByClassName('yt-lockup-meta')[i].innerHTML //присваеваем переменной stroka значение с которым будем работать
    в квадратных скобках мы уже указали не число, а переменную i. Эта переменная переменная будет изменяться у нас каждый раз при заходе на новый цикл. Соответственно каждый раз мы будем обращаться к новому топику на странице. И так до самого низа страницы.

    Остальной код мы разобрали вплоть до 12 строки:
    Код:
    var url = content.document.getElementsByClassName('yt-uix-sessionlink yt-uix-tile-link yt-ui-ellipsis yt-ui-ellipsis-2')[i].href//выбираем ссылку в переменную url
    Тут вы видите новый для себя способ получения ссылки через .href. Можно было бы вытянусть ссылку и другими способами, например вычистить строку регулярными выражениями. Но тут так проще. Вы пока обратите внимание, что можно таким способом можно получать доступы к ссылкам, картинкам, и другим обьектам на странице. Более подробно об этом будет в рубрике Работа с DOM.

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

    Другими словами мы вытянули ссылку и поместили в переменную url. Возможно вам немного не понятно, как это каждый цикл мы помещаем новые данные в переменные, а куда деваются те которые там уже были? Все очень просто если перед переменной написано слово var это означает ее объявление. То есть она создается заново, а если она была до этого, то удаляется.

    А вот 14 строка:
    Код:
    arrUrl.push(url)//добавляем url в массив
    говорит нам о том, что данные(ссылка) из переменной url добавляются в массив arrUrl. Как вы уже догадались, за это отвечает метод .push()

    Перейти к следующему уроку!
     
    Последнее редактирование: 24 янв 2016

Поделиться этой страницей