Подсчет повторных значений в списке [[Решено]]



  • Пишу простенький скрипт подсчитывающий количество отзывов определенного товара на сайте алиэкспресс из каждой страны (результатом работы скрипта должен быть вывод : RU-5, PL-8, US-9, и тд...). Как реализовать такой счетчик ? Вот скрипт 0_1521134207311_ali_pars.xml



  • @Rusbear Нет времени смотреть скрипт. Но не вижу сложность, есть стандартное действие получить количество элементов на странице. Вот пример на xpath
    //div[@class="feedback-list-wrap"]//b[text()='RU'] Возвращает Российские отзывы



  • @Denis_krsk , Это придется для каждой страны прописывать свою логику, это не вариант. Как то ведь можно создать переменную с динамическим именем которое(имя) будет браться из значения другой переменной, которое мы получим в результате парсинга(RU, EN,...), и увеличивать её значение если она уже содержится в списке. Ну или складывать построчно все спарсенные значения в файл и потом если есть повторения строк, то подсчитать их(повторы) и вывести. Не могу найти как это организовать(



  • @Rusbear Блин ну какая у вас логика будет придумывайте сами. Не знаю всего сложно судить. А по поводу моего xpath можно в переменной создавать
    '//div[@class="feedback-list-wrap"]//b[text()=''+[[COUNTRY]]+']'
    а потом пихать ее в экшен получить количество элементов.



  • @Denis_krsk , Решено. Нужно спарсить все значения и добавить их в список. После создать цикл: получить количество элементов в списке / взять первый элемент / удалить по значению этот элемент из списка / получить количество элементов в списке / из первого получения количества элементов вычесть второе получеие = количество удаленных элементов = количество первого элемента.