Сбор анкет ВК



  • Добрый день!
    На днях скачал БАС и потихоньку разбираюсь в нем.
    Прошу помочь со сбором анкет в ВК. Полагаю нужно поступить по тому же принципу как в примере по парсингу гугла. Но вот загвоздка с созданием цикла для каждого эллемента.
    БАС предлагает вариант >CSS> :nth-child(1) > :nth-child(1) > :nth-child(1) > :nth-child(2) > :nth-child(1) > :nth-child(1) > :nth-child(4) > :nth-child(1) Какое правильное значение нужно указать, что бы цикл начал правильно работать и где об этом можно подробнее почитать?
    !0_1488210517462_2017-02-27_18-45-55.png



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



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

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

    методом научного тыка нашел значение которое нужно установить... >CSS> .info > .name > :nth-child(1)
    было бы замечательно, если подсказали логику как задавать здесь значения.



  • @Onotole Посмотрите на разметку. Каждый результат поиска имеет класс people_row, значит цикл можно организовать по >CSS> .people_row

    0_1488278613770_searchrow.png

    Если бы общего класса не было, можно смотреть какие селекторы БАС предлагает для каждого элемента, допустим:

    >CSS> :nth-child(1) > :nth-child(1) > :nth-child(1) > :nth-child(2) > :nth-child(1) > :nth-child(1) > :nth-child(4) > :nth-child(1)
    >CSS> :nth-child(1) > :nth-child(1) > :nth-child(1) > :nth-child(2) > :nth-child(2) > :nth-child(1) > :nth-child(4) > :nth-child(1)
    >CSS> :nth-child(1) > :nth-child(1) > :nth-child(1) > :nth-child(2) > :nth-child(3) > :nth-child(1) > :nth-child(4) > :nth-child(1)

    итд

    Тогда можно сделать цикл от 1 до количество резулльтатов и искать элемент

    >CSS> :nth-child(1) > :nth-child(1) > :nth-child(1) > :nth-child(2) > :nth-child([[CYCLE_INDEX]]) > :nth-child(1) > :nth-child(4) > :nth-child(1)

    Создавая цикл, БАС создает специальный селектор для обращения к элементу в цикле, вот он [[FOR_EACH_CSS]] >AT> [[CYCLE_INDEX]]
    Чтобы найти элемент внутри элемента цикла, добавьте к сгенерированному свой.
    Например, имя аккаунта находится внутри дива с классом name, тогда получить имя можно таким образом:

    [[FOR_EACH_CSS]] >AT> [[CYCLE_INDEX]] >CSS>.name

    0_1488278954457_Name.png

    Подробней об этом можно прочитать тут

    http://wiki.bablosoft.com/doku.php?id=ru:how_to_search_for_element



  • Разобрался! )
    Спасибо за подробное разъеснение.

    Есть новый вопрос, но человеческих способов решения, в голову не приходит(
    Подскажите, есть 2 файла(списка) с урлами. Как из файла1, удалить все урлы которые есть в файле2 ? Перебирать построчно оба списка или есть инструмет специально под это заточенный ?



  • создание выборки через KeyWordKeeper_5B5



  • @arxat
    я имел в виду силами БАСа



  • @Onotole Либо перебирая списки, либо использовав одно из этих решений http://stackoverflow.com/questions/1187518/javascript-array-difference


Log in to reply