hababr
Junior Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору На wildberries.ru перестали показываться фотки из отзывов, я починил. Код: {"R_Wildberries.ru":{"link":"^wildberries\\.ru/catalog/(\\d+)/detail\\.aspx","res":":\n//debugger;\nvar r = [];\ntry {\n var regexp = new RegExp('<div class=\"slide__content[\\\\s\\\\S]+?<source srcset=\"([\\\\s\\\\S]+?)\"([\\\\s\\\\S]+?alt=\"([\\\\s\\\\S]+?)\")?', 'gi');\n\n var m;\n while ((m = regexp.exec($._)) !== null) {\n var url = m[1];\n if (url.startsWith('//')) url = 'https:' + url;\n url = url.replace('/tm/', '/big/');\n r.push([url, m[3]]);\n }\n\n var v = /<meta property=\"og:video\" content=\"(.+?)\">/.exec($._) || [];\n if (v[1]) {\n r.push([v[1], '']);\n }\n\n // get item ID\n var xId = new XMLHttpRequest;\n xId.open('GET', 'https://wbx-content-v2.wbstatic.net/ru/' + $[1] + '.json', false);\n xId.send();\n var id = JSON.parse(xId.responseText).imt_id;\n\n // fetch feedback photos page by page\n var PER_PAGE = 30;\n var PAGES_LIMIT = 5;\n for (var i = 0; i < PAGES_LIMIT; i++) {\n var x = new XMLHttpRequest;\n x.open('POST', 'https://public-feedbacks.wildberries.ru/api/v1/feedbacks/site', false);\n x.send('{\"imtId\":' + id + ',\"skip\":' + PER_PAGE*i + ',\"take\":30,\"order\":\"dateDesc\",\"hasPhoto\":true}');\n var resp = JSON.parse(x.responseText);\n if (resp.feedbacks && resp.feedbacks.length) {\n resp.feedbacks.forEach(f => f.photos.forEach(p => r.push([\n 'https://feedbackphotos.wbstatic.net/' + p.fullSizeUri, f.productValuation + '⭐ | ' + f.text\n ])));\n }\n\n if (!resp.feedbacks || resp.feedbacks.length < PER_PAGE) break;\n }\n\n} catch (e) {\n console.error(e);\n}\n\nreturn r;","img":"^(images.wbstatic.net)/(?:tm|c\\d+x\\d+)/(.+\\.jpg)","to":"$1/big/$2"}} |
| Всего записей: 137 | Зарегистр. 21-07-2014 | Отправлено: 16:46 02-04-2022 | Исправлено: hababr, 17:33 03-04-2022 |
|