Помогите с циклами. Парсер твиттера.

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

  • @IvanG По моему проще получить код страницы и регуляркой достать все URL сообщений, чем городить огород с циклами.
    А вообще проще понять и помочь, когда есть проект, либо хотя бы часть кода.

  • This post is deleted!
  • @Fox Спасибо!
    Если ссылка спрятана в другом окне, через вызов его через выпадающее меню, подскажете как спарсить ее из кода страницы?
    И мой код:0_1496064516513_twitter.xml

  • @IvanG Вообще я бы посоветовал перейти на get-запросы. Скажем вместо ввода из ресурса просто запрос:

    https://twitter.com/search?q=football%20%22since%3A2017-03-03%20until%3A2017-03-11%22&src=typd
    

    А вот ссылки на каждый твит формируется аяксом.. В коде страницы нету ссылки на твит, пока ты не нажмёшь кнопочку с выпадающем меню.

    По идее есть twitter api через него будет в разы проще и быстрее. Вечером посмотрю что там да как..

  • @Fox В API твиттера лимиты стоят на запросы. Медленно очень будет.
    Я пробовал добраться до ссылки создвая новый вложенный цикл для каждого нового окна. Один раз нормально все проходит, но не получается сделать чтобы цикл повторился на следующем твитте.

  • @IvanG У вас 2 цикла, в конце второго вы переходите на другую страницу, и элементов, который ищет первый цикл уже не существует. Чтобы исправить нужно возвращаться на исходную страницу после второго цикла.

  • @support а вы не подскажите как это лучше сделать? я пробовал ставить метку в начале первого цикла, а в конце последнего переход на нее, не происходит ничего. А если ставить метку перед началом цикла, то он начинается с начала конечно.

  • @IvanG said in Помогите с циклами. Парсер твиттера.:

    @support а вы не подскажите как это лучше сделать? я пробовал ставить метку в начале первого цикла, а в конце последнего переход на нее, не происходит ничего. А если ставить метку перед началом цикла, то он начинается с начала конечно.

    Я не знаю зачем ты создал столько циклов, достаточно одного для твоей задачи. Вот пример 0_1496504178464_1496060917049-twitter.xml .

  • @santilo Я пробовал по твоему скрипту, не получается. Цикл создается для одного элемента, а ты хочешь его к другим применить в выпадающих окнах. BAS Пишет: селектор элементов найдено 0. По этой причине я и создавал вложенные циклы, потому что иначе скрипт не находит эти элементы. Может я не так что-то делаю?

  • @IvanG said in Помогите с циклами. Парсер твиттера.:

    @santilo Я пробовал по твоему скрипту, не получается. Цикл создается для одного элемента, а ты хочешь его к другим применить в выпадающих окнах. BAS Пишет: селектор элементов найдено 0. По этой причине я и создавал вложенные циклы, потому что иначе скрипт не находит эти элементы. Может я не так что-то делаю?

    Цикл создается не для одного, я для всех твитов которые доступны на странице. Я добавил действие "Ждать появление элемента" перед циклом, что бы нужный селектор успел подгрузится , скорее всего из за этого у тебя не работало.

    Шаблон: 0_1496699673447_tweet_example.xml
    Пример работы: https://gifyu.com/image/b7Ym

  • @santilo said in Помогите с циклами. Парсер твиттера.:

    BAS Пишет: селектор элементов найдено 0.

    кстати не знаю почему у тебя 0 элементов в действие "Начать цикл", у меня 12 твитов, которые видны сразу на странице, без прокрути и подгрузки новых.
    0_1496707779774_2017-06-06_100646.png

  • @santilo Спасибо за помощь! Все не было времени отписаться. У меня какой то баг с циклами похоже. Действие "начать цикл" находит все нужные элементы, но на следующем шаге цикл их уже не видит почему то. В этом изначально моя проблема была. Пробовал свои циклы, твой вставлял, другие с этого форума, не работает. Переустанавливал BAS в другую папку, запускал и устанавливал от имени администратора, ничего не меняется. Win 10, AV не установлен. Может быть было у кого-нибудь такое? или я что-то не так делаю? но не работает даже при импорте чужого кода с этого форума.

  • @IvanG Скинь свой проект. Скорей всего ошибка в чём то простом.

  • @Fox Проект не мой, с этого форума -парсер прокси, открыт просто сейчас. 0_1498401339345_proxyparser.xml Все работает кроме цикла, как и в остальных.
    Это окно начала цикла.
    0_1498401433190_step1.jpg
    А на следующем шаге уже не видит ничего.
    0_1498401470842_step2.jpg

  • @IvanG said in Помогите с циклами. Парсер твиттера.:

    @Fox Проект не мой, с этого форума -парсер прокси, открыт просто сейчас. 0_1498401339345_proxyparser.xml Все работает кроме цикла, как и в остальных.
    Это окно начала цикла.
    0_1498401433190_step1.jpg
    А на следующем шаге уже не видит ничего.
    0_1498401470842_step2.jpg

    Судя по скрину проект писался под старую версию баса, в этой строке [[FOR_EACH_CSS]]<[[CYCLE_INDEX]]>, лишние <>, и не хватает макроса номер элемента >AT>, должно быть вот так [[FOR_EACH_CSS]]>AT>[[CYCLE_INDEX]]

  • @santilo 0_1498403985403_slide3.jpg
    почему то так получается. Сейчас твой цикл еще раз попробую.

  • @IvanG said in Помогите с циклами. Парсер твиттера.:

    @santilo 0_1498403985403_slide3.jpg
    почему то так получается. Сейчас твой цикл еще раз попробую.

    Мой пример по твитеру использует новый синтаксис, там проблем не должно быть.

  • @IvanG У тебя все равно не находит элемент(, а попробуй этот шаблон 0_1498401093484_1498397736489-proxyparser.xml

  • @santilo Попробовал последний шаблон. Тоже самое. Может быть имеет значение, что действие "начать цикл" не заканчивается? Т.е. появляется возможность нажать паузу, но стрелочка на переход не появляется.

  • 0 Votes
    5 Posts
    485 Views
  • 0 Votes
    1 Posts
    414 Views
  • 0 Votes
    14 Posts
    1390 Views
  • 0 Votes
    1 Posts
    373 Views
  • 0 Votes
    5 Posts
    571 Views