Прошу подкинуть идею как реализовать парсер ленты новостей vk



  • Нужно сделать так, чтоб парсер парсил из ленты пост+картинки которые в нем, не повторялся, спарсенное публиковал на стене профиля в vk.

    Сам пробовал так:
    Находил селектор "wall_text" в котором еще 2 селектора, 1 селектор текста новости, другой селектор картинок вложенного в него. Для текста делал "получит текст", а для картинок "получить атрибут элемента" т.к ссылка на картинку была внутри атрибута STYLE, дальше спарсеное публиковал на странице своего профиля простым переходом на страницу и нажатием на кнопку. Все вроде работает, только одна проблема, когда в новости из ленты нет картинки, он находит ее в другой новости и кидает новость с картинкой из другой новости. Это Тестовый скрипт 1
    alt text
    Решить проблему пытался так:
    Делал "получить код" для селектора "wall_text" и клал этот код в переменную "lenta" из переменой лента пытался тем же макаром что и выше вытащить нужные мне данные(для текста "вытащить текст", для картинки "получить атрибут элемента") но когда в поле " селктор эелемента" вставляешь переменную [[Lenta]], он ее не видит, хотя в самой переменной есть кусок выдранного и нужно мне кода. это в Тестовый скрипт 2

    Тестовый скрипт 1
    Тестовый скрипт 2



  • @bladder кошмар какой во втором скрипте))

    Так точно не будет работать

     >CSS>[[LENTA]] .wall_post_text
    

    Вам надо использовать xpath и засунуть [[LENTA]] в "Текст для применения xpath".

    Вообще у xpath есть действие Xpath проверить существование и оно должно помочь для проверки, есть ли картинки в посте.



  • This post is deleted!


  • @uraabk
    То есть с помощью >CSS> это сделать нельзя?



  • @bladder said in Прошу подкинуть идею как реализовать парсер ленты новостей vk:

    @uraabk
    То есть с помощью >CSS> это сделать нельзя?

    CSS лучше не использовать, он крайне не надежный.



  • @uraabk said in Прошу подкинуть идею как реализовать парсер ленты новостей vk:

    CSS лучше не использовать, он крайне не надежный.

    Просто интересно из переменной [[LENTA]](в ней находится код как на скрине) можно как-то вытащить wall_post_text и page_post_sized_thumbs clear_fix без xpath?

    alt text



  • @bladder said in Прошу подкинуть идею как реализовать парсер ленты новостей vk:

    @uraabk said in Прошу подкинуть идею как реализовать парсер ленты новостей vk:

    CSS лучше не использовать, он крайне не надежный.

    Просто интересно из переменной [[LENTA]](в ней находится код как на скрине) можно как-то вытащить wall_post_text и page_post_sized_thumbs clear_fix без xpath?

    alt text

    Регуляркой



  • @uraabk said in Прошу подкинуть идею как реализовать парсер ленты новостей vk:

    Xpath

    Не получается выдернуть ссылку с помощью xpath. Текст я выдрал так: //div[@class='wall_post_text'] с действием "xpath получит текст", а вот ссылку картинкой никак т.к в атрибуте есть лишний текст. Можно ли без регулярных выражений чисто силами xpath это сделать?

    <a onclick="return showPhoto('-81613116_456239639', 'wall-81613116_7161', {&quot;temp&quot;:{&quot;base&quot;:&quot;https://pp.userapi.com/&quot;,&quot;x_&quot;:[&quot;c848620/v848620476/167127/0OgAmjcBomI&quot;,604,402],&quot;y_&quot;:[&quot;c848620/v848620476/167128/gHwk-gYCWKE&quot;,640,426]},queue:1}, event)" style="width: 510px; height: 339px;background-image: url(https://pp.userapi.com/c848620/v848620476/167127/0OgAmjcBomI.jpg);" class="page_post_thumb_wrap image_cover  page_post_thumb_last_column page_post_thumb_last_row"></a>
    

    Вот эту ссылку надо как-то вытащить:

    style="width: 510px; height: 339px;background-image: url(https://pp.userapi.com/c848620/v848620476/167127/0OgAmjcBomI.jpg);
    




  • @uraabk

    А не поможете разобраться почему у меня не выходит в цикле собирать ссылку на автора+текст+картинку из новостей в ленте?
    скрипт
    Он берет картикни из соседних постов и соединяет их с текстами и ссылками из других. Без цикла все нормально, ссылки, картинки и тексты берутся из одного поста.



  • @bladder said in Прошу подкинуть идею как реализовать парсер ленты новостей vk:

    @uraabk

    А не поможете разобраться почему у меня не выходит в цикле собирать ссылку на автора+текст+картинку из новостей в ленте?
    скрипт
    Он берет картикни из соседних постов и соединяет их с текстами и ссылками из других. Без цикла все нормально, ссылки, картинки и тексты берутся из одного поста.

    Криво сделали просто. Он по мимо самих постов, лезет ещё в комментарии



  • @uraabk said in Прошу подкинуть идею как реализовать парсер ленты новостей vk:

    Криво сделали просто. Он по мимо самих постов, лезет ещё в комментарии

    Там нельзя не зацепить комментарии т.к ссылка на фото, автора комментария(или название группы) и основной текст поста лежит в одном диве <div class="_post_content">. Как сделать чтоб он не лез в комменты?

    Мне на ум пришел только такой вариант: из этого "_post_content" выдернуть код поста+ картикни и автора(как мне нужно), положить это все в переменную и эту переменную использовать в цикле, но так цикл не хочет запускаться.

    скрипт



  • @bladder said in Прошу подкинуть идею как реализовать парсер ленты новостей vk:

    @uraabk said in Прошу подкинуть идею как реализовать парсер ленты новостей vk:

    Криво сделали просто. Он по мимо самих постов, лезет ещё в комментарии

    Там нельзя не зацепить комментарии т.к ссылка на фото, автора комментария(или название группы) и основной текст поста лежит в одном диве <div class="_post_content">. Как сделать чтоб он не лез в комменты?

    Мне на ум пришел только такой вариант: из этого "_post_content" выдернуть код поста+ картикни и автора(как мне нужно), положить это все в переменную и эту переменную использовать в цикле, но так цикл не хочет запускаться.

    скрипт

    Так вы место селектора элемента указали код страницы. Занимаетесь чем то непонятным... Просто берите в цикле каждый _post_content, а уже из него получайте то, что нужно. Стараясь максимально точно указать необходимые объекты с помощью xpath/css/match



  • @uraabk said in Прошу подкинуть идею как реализовать парсер ленты новостей vk:

    Просто берите в цикле каждый _post_content, а уже из него получайте то, что нужно. Стараясь максимально точно указать необходимые объекты с помощью xpath/css/match

    Так ведь я так и делал! Тот скрипт что я скинул :

    @bladder said in Прошу подкинуть идею как реализовать парсер ленты новостей vk:

    @uraabk

    А не поможете разобраться почему у меня не выходит в цикле собирать ссылку на автора+текст+картинку из новостей в ленте?
    скрипт
    Он берет картикни из соседних постов и соединяет их с текстами и ссылками из других. Без цикла все нормально, ссылки, картинки и тексты берутся из одного поста.

    берет каждый _post_content и из него вытаскивает:
    wall_post_text - текст поста
    post_header_info - отсюда название группы или автора поста
    .page_post_thumb_last_row- тут спомощью ксс и регулярного выражение достается ссылка.

    С однократным вытаскиванием все работает четко, а вот когда делаешь это в цикле, то картинки и текст он берет из разных постов, а не из одного как должно быть.



  • @bladder said in Прошу подкинуть идею как реализовать парсер ленты новостей vk:

    берет каждый _post_content и из него вытаскивает:
    wall_post_text - текст поста
    post_header_info - отсюда название группы или автора поста
    .page_post_thumb_last_row- тут спомощью ксс и регулярного выражение достается ссылка.

    С однократным вытаскиванием все работает четко, а вот когда делаешь это в цикле, то картинки и текст он берет из разных постов, а не из одного как должно быть.

    Так этого не достаточно, раз он при .page_post_thumb_last_row лезет в комментарии. Надо уточнять данный селектор, что бы он "исключал" комменты


Log in to reply