Baton34V
Advanced Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору kenko2 Цитата: Что-то он у меня и нашем (RU) сайте перестал уже фото с отзывами пользователей показывать, даже слайдер не помогает | Исправил, но теперь только первые 20 отзывов с фото, али больше не отдаёт. И периодически будут отзывы отваливаться - надо открыть какой-нибудь товар и пройти проверку со слайдером. Код: {"R_AliExpress":{"link":"(?:\\w\\w|www)?\\.?aliexpress\\.(com|ru)/item/(?:[\\w-]*?/)?(\\d+)\\.html.*","url":"aliexpress.$1/item/$2.html","res":":\nconst r = [];\nconst oldStyle=$._.match('data: ({.+})\\s*};');\nif (oldStyle) {\n const jsn=JSON.parse(oldStyle[1]);\n for (const url of jsn.imageModule.imagePathList) {\n r.push([url, '']);\n }\n}\ntry {\n const page = (new window.DOMParser()).parseFromString($._,'text/html');\n let imgs = Array.from(page.querySelectorAll('div[class^=\"gallery_Gallery__picture\"] > picture > img, div[class^=\"gallery_Gallery__video\"] > video'));\n if (imgs.length<1) {\n imgs = Array.from(page.querySelectorAll('div[class^=\"Product_GalleryBarItem\"] > img, div[class^=\"ProductDescription-module_wrapper\"] img'));\n }\n for (const i of imgs) {\n // filter out images inside links\n if (i.parentElement.nodeName === 'A') continue;\n let url = i.attributes.src.value.replace(/_\\d+x\\d+\\.(jpe?g|png)$/, '');\n url = url.replace('`','');\n r.push([url, '']);\n }\n const id = $[2];\n const x = new XMLHttpRequest;\n x.open('POST', 'https://aliexpress.ru/aer-jsonapi/review/v1/desktop/product/reviews?product_id=' + id +'&_bx-v=2.2.3', false);\n x.send('{\"productId\":\"' + id + '\",\"pageSize\":20,\"pageNum\":1,\"reviewFilters\":[\"ReviewFilter_WITH_PHOTO\"],\"starFilter\":\"StarFilter_ALL_STARS\",\"sort\":\"ReviewSort_USEFUL\"}');\n JSON.parse(x.responseText).data.reviews.forEach(f=>{\n if (f.additionalReview && f.additionalReview.images && f.additionalReview.images.length) {\n f.text += ' | 💬 ' + f.additionalReview.text;\n f.images = f.images.concat(f.additionalReview.images);\n }\n f.images.forEach(p => r.push([p.url, f.grade + '⭐ | ' + f.text]))\n });\n\n} catch (e) {}\n\nreturn r;","img":"(.*\\.alicdn\\.com/.+)_\\d+x\\d+\\.(jpe?g|png)","to":"$1","note":"hababr + Baton34V (fix)\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1460#5\nOLD\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1220#21\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=3600#20\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=3280#9\n\n!!!\nКурсор нужно наводить на название товара. Данный фильтр показывает не только фото товара, но и фотографии в отзывах покупателей с текстами их отзывов.\n==\nThe cursor is recommended to hover over the product name. The sieve shows not only photos of the product, but also photos in customer reviews with the texts of their reviews."}} | Добавлено: Starback Цитата: Галерею делать не стал т.к. сайт разбивает галерею по страницам, а как сразу все фотки выгрузить не знаю. Код: {"R_theplace.ru":{"img":"^(theplace\\.ru/cache/archive/\\S+/img/\\S+gthumb-).+\\.jpg","to":"$1gwdata1600-gfitdatamax.jpg","note":"https://www.theplace.ru/photos/natalya_rudina/"}} | | Всего записей: 1083 | Зарегистр. 21-08-2009 | Отправлено: 15:41 05-03-2023 | Исправлено: Baton34V, 16:08 05-03-2023 |
|