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



  • Делаю парсер твиттера. На первой стадии хотел собрать 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 твиттера лимиты стоят на запросы. Медленно очень будет.
    Я пробовал добраться до ссылки создвая новый вложенный цикл для каждого нового окна. Один раз нормально все проходит, но не получается сделать чтобы цикл повторился на следующем твитте.


  • administrators

    @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 Попробовал последний шаблон. Тоже самое. Может быть имеет значение, что действие "начать цикл" не заканчивается? Т.е. появляется возможность нажать паузу, но стрелочка на переход не появляется.



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

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

    Как это не заканчивается) мы же делаем цикл по элементам, а их определенное количество, в проекте прокси, у меня их было 64. И цикл отрабатывает как надо, я даже не знаю почему у тебя проблемы с ним(


Log in to reply
 

Looks like your connection to Bablosoft was lost, please wait while we try to reconnect.