@vaxab23111 Тоже решил поучавствовать на разминки мозга, на 100% не претендует
function getCooficient(exp) { var matched = exp.match(/(\d+)[\s*+-/]*[A-z]/) if (matched) { return parseFloat(matched.pop()) } return 1 } function evalSide(exp) { var cleanExp = exp.replace(/\d*[\s*+-/]*[A-z]/, '') if (!cleanExp) return 0 return eval(cleanExp) } function invertResult(num) { return num > 0? -num : num } function solveEquation(equation) { var parts = equation.split("=") var leftSide = parts[0].trim() var rightSide = parts[1].trim() var coefficient = 1 var leftSideResult = evalSide(leftSide) var rightSideResult = evalSide(rightSide) if (/[A-z]/.test(leftSide)) { var coefficient = getCooficient(leftSide) leftSideResult = invertResult(leftSideResult) } else { var coefficient = getCooficient(rightSide) rightSideResult = invertResult(rightSideResult) } return (leftSideResult + rightSideResult) / coefficient } log(solveEquation("6 * X=14")); // выводит 2.3333333333333335 log(solveEquation("X+2=80")); // выводит 78 log(solveEquation("12+15=X")); // выводит 27 log(solveEquation("6 *X + 2=14")); // выводит 2 log(solveEquation("X+2 * 2=80")); // выводит 76 log(solveEquation("12+15/5=X")); // выводит 15 [[BAS_VARIABLE]] = solveEquation("6 * X=14")Прошу подкинуть идею как реализовать парсер ленты новостей vk
-
Нужно сделать так, чтоб парсер парсил из ленты пост+картинки которые в нем, не повторялся, спарсенное публиковал на стене профиля в vk.
Сам пробовал так:
Находил селектор "wall_text" в котором еще 2 селектора, 1 селектор текста новости, другой селектор картинок вложенного в него. Для текста делал "получит текст", а для картинок "получить атрибут элемента" т.к ссылка на картинку была внутри атрибута STYLE, дальше спарсеное публиковал на странице своего профиля простым переходом на страницу и нажатием на кнопку. Все вроде работает, только одна проблема, когда в новости из ленты нет картинки, он находит ее в другой новости и кидает новость с картинкой из другой новости. Это Тестовый скрипт 1

Решить проблему пытался так:
Делал "получить код" для селектора "wall_text" и клал этот код в переменную "lenta" из переменой лента пытался тем же макаром что и выше вытащить нужные мне данные(для текста "вытащить текст", для картинки "получить атрибут элемента") но когда в поле " селктор эелемента" вставляешь переменную [[Lenta]], он ее не видит, хотя в самой переменной есть кусок выдранного и нужно мне кода. это в Тестовый скрипт 2 -
@bladder кошмар какой во втором скрипте))
Так точно не будет работать
>CSS>[[LENTA]] .wall_post_textВам надо использовать xpath и засунуть [[LENTA]] в "Текст для применения xpath".
Вообще у xpath есть действие Xpath проверить существование и оно должно помочь для проверки, есть ли картинки в посте.
-
@uraabk said in Прошу подкинуть идею как реализовать парсер ленты новостей vk:
CSS лучше не использовать, он крайне не надежный.
Просто интересно из переменной [[LENTA]](в ней находится код как на скрине) можно как-то вытащить wall_post_text и page_post_sized_thumbs clear_fix без xpath?

-
@bladder said in Прошу подкинуть идею как реализовать парсер ленты новостей vk:
@uraabk said in Прошу подкинуть идею как реализовать парсер ленты новостей vk:
CSS лучше не использовать, он крайне не надежный.
Просто интересно из переменной [[LENTA]](в ней находится код как на скрине) можно как-то вытащить wall_post_text и page_post_sized_thumbs clear_fix без xpath?

Регуляркой
-
@uraabk said in Прошу подкинуть идею как реализовать парсер ленты новостей vk:
Xpath
Не получается выдернуть ссылку с помощью xpath. Текст я выдрал так: //div[@class='wall_post_text'] с действием "xpath получит текст", а вот ссылку картинкой никак т.к в атрибуте есть лишний текст. Можно ли без регулярных выражений чисто силами xpath это сделать?
<a onclick="return showPhoto('-81613116_456239639', 'wall-81613116_7161', {"temp":{"base":"https://pp.userapi.com/","x_":["c848620/v848620476/167127/0OgAmjcBomI",604,402],"y_":["c848620/v848620476/167128/gHwk-gYCWKE",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); -
-
@bladder said in Прошу подкинуть идею как реализовать парсер ленты новостей vk:
А не поможете разобраться почему у меня не выходит в цикле собирать ссылку на автора+текст+картинку из новостей в ленте?
скрипт
Он берет картикни из соседних постов и соединяет их с текстами и ссылками из других. Без цикла все нормально, ссылки, картинки и тексты берутся из одного поста.Криво сделали просто. Он по мимо самих постов, лезет ещё в комментарии
-
@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:
А не поможете разобраться почему у меня не выходит в цикле собирать ссылку на автора+текст+картинку из новостей в ленте?
скрипт
Он берет картикни из соседних постов и соединяет их с текстами и ссылками из других. Без цикла все нормально, ссылки, картинки и тексты берутся из одного поста.берет каждый _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 лезет в комментарии. Надо уточнять данный селектор, что бы он "исключал" комменты