hababr
Junior Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Правило для Aliexpress. В нем подгружаются картинки из карточки товара и из описания, а дальше картинки из отзывов вместе с самими отзывами, текст всегда в переводе на русский. Код: {"__aliexpress.[com|ru]":{"link":"(?:\\w\\w|www)?\\.?aliexpress\\.(?:com|ru)/item/(?:[\\w-]*?/)?(\\d+)\\.html","url":"aliexpress.ru/item/$1.html","res":":\ndebugger;\nconst r = [];\ntry {\n const page = (new window.DOMParser()).parseFromString($._,'text/html');\n const 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 const url = i.attributes.src.value.replace(/_\\d+x\\d+\\.(jpe?g|png)$/, '');\n r.push([url, '']);\n }\n\n const id = $[1];\n const x = new XMLHttpRequest;\n x.open('POST', 'https://aliexpress.ru/aer-api/v1/review/filters?product_id=' + id, false);\n x.send('{\"productId\":' + id + ',\"starFilter\":\"all\",\"sort\":\"default\",\"page\":1,\"pageSize\":1000,\"translate\":true,\"local\":false}');\n JSON.parse(x.responseText).reviewInfo.reviews.forEach(f => {\n if (f.additionalReview && f.additionalReview.gallery && f.additionalReview.gallery.length) {\n f.text += ' | 💬 ' + f.additionalReview.text;\n f.gallery = f.gallery.concat(f.additionalReview.gallery);\n }\n f.gallery.forEach(p => r.push([p, f.rating + '⭐ | ' + f.text]))\n });\n\n} catch (e) {}\n\nreturn r;","img":"(.*\\.alicdn\\.com/.+)_\\d+x\\d+\\.(jpe?g|png)","to":"$1"}} |
|