Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Программы » Imagus (Часть 2)

Модерирует : gyra, Maz

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132

Открыть новую тему     Написать ответ в эту тему

Maz



Дед Мазай
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Предыдущие темы: Часть 1

Автор - Deathamns [snmahtaeD] | Сообщество на Reddit
СКАЧАТЬ IMAGUS | СТРАНИЦА НА РУССКОМ Rodny (первый автор данной темы)


Всего записей: 38836 | Зарегистр. 26-02-2002 | Отправлено: 23:06 05-12-2021 | Исправлено: kenko2, 13:48 15-04-2024
hababr

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
kenko2
Вот фильтр на замену WILDBERRIES.ru. WILDBERRIES.ru_user можно удалить.

Код:
{"WILDBERRIES.ru":{"link":"^(?:global\\.)?wildberries\\.ru/(?:catalog/|product\\?card=)(\\d+)(?:/(detail\\.aspx|feedbacks)(\\S+)?)?","url":"data:,none?$1$2$3","res":":\nvar r = [];\nconst x = new XMLHttpRequest();\nconst cardInfoUrl = constructHostV2($[1], 'nm') + `/info/ru/card.json`;\nx.open('GET', cardInfoUrl, false);\nx.send();\nconst info = JSON.parse(x.responseText);\n\n// fetch item photos\n// skip when triggered by feedback links or elements\nif (($[2] == 'detail.aspx' || $[2] == null) && !$[3]?.includes('#Comments') && !this.TRG.className.includes('product-card__rating') && !this.TRG.className.includes('product-card__count')) {\n    const folder = 1e4 * Math.floor(info.nm_id / 1e4);\n    if (info.media.has_video) {\n        r.push([`https://video.wbstatic.net/video/new/${folder}/${info.nm_id}.mp4`, info.imt_name]);\n    }\n\n    for (var i = 1; i <= info.media.photo_count; i++) {\n        r.push([imageUrl(info.nm_id, 'big', i), info.imt_name]);\n    }\n}\n\n// fetch feedback photos page by page\nx.open('GET', `${feedbackDomain(info.imt_id)}/feedbacks/v1/${info.imt_id}`, false);\nx.send();\nconst resp = JSON.parse(x.responseText);\nresp.feedbacks?.forEach(f => f.photo?.forEach(p => r.push([\n    urlFeedbackPhoto(p),\n    '&#11088;' + f.productValuation + ' | ' + f.text + ' | ' + f.createdDate.substring(0, 10)\n])));\n\nif (r.length == 0) r = false;\n\nreturn r;\n\n\nfunction urlFeedbackPhoto(e) {\n    const n = parseInt(e, 10);\n    return `${constructHostV2(n, \"feedback\")}/photos/fs.webp`\n}\n\nfunction feedbackDomain(t) {\n    const e = crc16Arc(t) % 100 >= 50 ? \"2\" : \"1\";\n    return `https://feedbacks${e}.wb.ru`;\n}\n\nfunction imageUrl(id, size, number) {\n    var i = parseInt(id, 10);\n    var ext = \"jpg\";\n    var url = constructHostV2(i);\n    return \"\".concat(url, \"/images/\").concat(size, \"/\").concat(null != number ? number : 1, \".\").concat(ext)\n}\n\nfunction volHostV2(t) {\n  return t >= 0    && t <= 143  ? \"https://basket-01.wb.ru/\"\n       : t >= 144  && t <= 287  ? \"https://basket-02.wb.ru/\"\n       : t >= 288  && t <= 431  ? \"https://basket-03.wb.ru/\"\n       : t >= 432  && t <= 719  ? \"https://basket-04.wb.ru/\"\n       : t >= 720  && t <= 1007 ? \"https://basket-05.wb.ru/\"\n       : t >= 1008 && t <= 1061 ? \"https://basket-06.wb.ru/\"\n       : t >= 1062 && t <= 1115 ? \"https://basket-07.wb.ru/\"\n       : t >= 1116 && t <= 1169 ? \"https://basket-08.wb.ru/\"\n       : t >= 1170 && t <= 1313 ? \"https://basket-09.wb.ru/\"\n       : t >= 1314 && t <= 1601 ? \"https://basket-10.wb.ru/\"\n       : t >= 1602 && t <= 1655 ? \"https://basket-11.wb.ru/\"\n       : \"https://basket-12.wb.ru/\";\n}\n\nfunction volFeedbackHost(e) {\n    let t;\n    switch (!0) {\n        case e >= 0 && e <= 431: t = \"01\"; break;\n        case e >= 432 && e <= 863: t = \"02\"; break;\n        case e >= 864 && e <= 1199: t = \"03\"; break;\n        case e >= 1200 && e <= 1535: t = \"04\"; break;\n        default: t = \"05\"\n    }\n    return `//feedback${t}.wb.ru/`\n}\n\nfunction constructHostV2(id, t = \"nm\") {\n  const e = parseInt(id, 10),\n        n = ~~(e / 1e5),\n        r = ~~(e / 1e3);\n  return `${\"nm\" === t ? volHostV2(n) : volFeedbackHost(n)}vol${n}/part${r}/${e}`;\n}\n\nfunction numToUint8Array(r) {\n    const t = new Uint8Array(8);\n    for (let n = 0; n < 8; n++)\n        t[n] = r % 256,\n        r = Math.floor(r / 256);\n    return t\n}\n\nfunction crc16Arc(r) {\n    const t = numToUint8Array(r);\n    let n = 0;\n    for (let r = 0; r < t.length; r++) {\n        n ^= t[r];\n        for (let r = 0; r < 8; r++)\n            (1 & n) > 0 ? n = n >> 1 ^ 40961 : n >>= 1\n    }\n    return n\n}\n","img":"^(?:(feedback\\d+\\.(?:wb|wbbasket)\\.ru/.+/photos)/ms\\.webp|(basket-\\d+\\.wb\\.ru/.+/images)/c\\d+x\\d+/(\\d+\\.webp))","ci":2,"to":":\nif ($[1]) {\n\treturn `${$[1]}/fs.webp`\n} else if ($[2]) {\n\treturn `${$[2]}/big/${$[3]}}`\n}","note":"hababr + Baton34V (fix)\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=2360#14\nOLD\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=2120#14\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=2000#17\n\n!!!\nФильтр показывает видео (если есть) + оценку + фото и тексты отзывов покупателей.\n\nПРИМЕРЫ\nhttps://www.wildberries.ru/catalog/igrushki/igrovye-nabory\nhttps://www.wildberries.ru/catalog/0/search.aspx?search=футболка%20женская\nhttps://www.wildberries.ru/catalog/0/search.aspx?search=мини%20пылесос"}}

Всего записей: 108 | Зарегистр. 21-07-2014 | Отправлено: 23:42 02-12-2023
kenko2



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
hababr
Все работает, спасибо!

Всего записей: 3809 | Зарегистр. 10-11-2005 | Отправлено: 11:27 03-12-2023
GoblinNN

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
kenko2

Цитата:
что должен быть включен именно agressive.

не. оно не для меня. чтоб на каждой ссылке это крутилось... кстати, как это называют?

Всего записей: 2908 | Зарегистр. 11-10-2005 | Отправлено: 12:21 03-12-2023
kenko2



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
GoblinNN

Цитата:
не. оно не для меня. чтоб на каждой ссылке это крутилось... кстати, как это называют?

Это индикатор (работы Имагус) или еще называют спиннер. Я курсор на все подряд ссылки не навожу, так что мне он не мешает. Хотя мне и сам спиннер тоже не мешает, пусть себе крутится.

Всего записей: 3809 | Зарегистр. 10-11-2005 | Отправлено: 13:13 03-12-2023 | Исправлено: kenko2, 13:15 03-12-2023
kenko2



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
hababr
На Озон кажется перестало работать видео покупателей на странице товара (как в ленте, так и в комментариях). Вместо видео - первый кадр.
 
https://www.ozon.ru/product/universalnyy-zalivnoy-klapan-doblo-wirquin-nakonechnik-latun-1-2-dlya-nizhney-i-bokovoy-podvodki-358123194
https://www.ozon.ru/product/pylesos-ginzzu-vs420-cherno-krasnyy-2000vt-3l-s-funktsiey-vyduva-824988751
 
Но при этом видео покупателей в результатах поиска или каталоге работает исправно. Тестил на хромоклонах и FF DE.

Всего записей: 3809 | Зарегистр. 10-11-2005 | Отправлено: 20:31 19-12-2023 | Исправлено: kenko2, 01:53 28-12-2023
hababr

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
kenko2
У меня работает, фильтры последние поставил.
 
UPD: В другом браузере проверил - не работает. Сейчас посмотрю в чем разница.  
 
Добавлено:
Разобрался, Озон почему-то рандомно меняет домен в адресе картинки после обновления страницы. Обновленное правило:
Код:
{"OZON.ru":{"link":"^(ozon\\.ru/(?:product/[\\w-]+|context/detail/id/\\d+))/.*?(?:\\?|$)","res":":\nconst r = []\ntry {\n    if (!$[0].includes('/reviews')) {\n        const doc = new DOMParser().parseFromString($._, \"text/html\");\n        const title = doc.querySelector('title').textContent;\n\n        // product images\n        let data = JSON.parse(doc.querySelector('div[id^=\"state-webGallery-\"]').dataset.state);\n        data.images?.forEach(i => r.push([i.src, i.alt || title]));\n        data.videos?.forEach(v => r.push([v.url, v.name || title]));\n    }\n\n    // reviews images\n    const rUrl = $[0].match(/^(.+?\\/product\\/[\\w-]+)(\\/|$)/)?.[1] + '/reviews/?sort=usefullness_desc';\n    const x = new XMLHttpRequest;\n    x.open('GET', rUrl, false);\n    x.send();\n    const data = JSON.parse(x.responseText?.match(/<div id=\"state-webListReviews.+?data-state='(.+?)'/i)[1]);\n\n    data.reviews.forEach(f => {\n        const c = f.content;\n        [...c.photos||[], ...c.videos||[]].forEach(p => {\n            const text = ['&#11088;' + c.score];\n            if (c.comment) text.push(c.comment);\n            if (c.positive) text.push('&#128077;&#127995; ' + c.positive);\n            if (c.negative) text.push('&#128078;&#127995; ' + c.negative);\n            if (f.createdAt) text.push(new Date(f.createdAt*1000).toISOString().substring(0,10))\n            r.push([p.url, text.join(' | ')]);\n        });\n    });\n} catch (e) {\n    console.error(e);\n}\n\nlet hasVideo = false;\nr.forEach(item => {\n    if (item[0].endsWith('.m3u8')) {\n        hasVideo = true;\n        item[1] = `<imagus-extension type=\"videojs\" url=\"${item[0]}\"></imagus-extension>${item[1]}`;\n        item[0] = '';\n    }\n});\nif (hasVideo) {\n    this.TRG.IMGS_ext_data = r;\n    return { loop: 'imagus://extension' };\n}\n\nreturn r;","img":"((?:ir(?:-\\d)?|cdn\\d)\\.ozone\\.ru/s3/(rp-photo-\\d+|multimedia-\\w+|video[-\\d]*)/)(?:wc\\d+/)?(.+\\.jpe?g)","loop":2,"to":":\nif ($[2]?.startsWith('video')) {\n    if (!$[2].includes('-')) $[2] += '-7';\n    let id = /[0-9A-Z]{20,}/.exec($[0])[0];\n    return `https://v.ozone.ru/vod/${$[2]}/${id}/master.m3u8`;\n} else {\n    return $[1] + $[3];\n}","note":"hababr\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=2238&limit=1&m=1#1\nOLD\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=2080#7\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1880#15\n\n\n!!!\nВ поисковой выдаче подгружает не только фото товара, но и фото сделанные покупателями + отзывы.\n+\nКурсор рекомендуется наводить на описание товара.\n\n\nПРИМЕРЫ\nhttps://www.ozon.ru/category/noutbuki-15692/\nhttps://www.ozon.ru/search/?deny_category_prediction=true&from_global=true&text=Сетка+антимоскитная+на+дверь&product_id=263132888\nhttps://www.ozon.ru/category/stiralnyy-poroshok-14585/"}}

 
Добавлено:
Еще обновление для Reddit. Там выкатили новый дизайн, может еще не у всех применился, у меня он по умолчанию, доступен по адресу sh.reddit.com. Предыдущий дизайн остался по адресу new.reddit.com, пользуюсь им, чтобы видео там открывалось надо обновить правило REDDIT_media:
Код:
{"REDDIT_media":{"link":"^(?:[a-z]{2,5}(?:-[a-z]{2})?\\.)?reddit\\.com/(?:r|user)/[^/]+/comments/([\\da-z]+)/[^/]+/(?:\\?utm_content=(?:title|thumbnail).*)?$","loop":1,"img":"^(g\\.redditmedia\\.com/[\\w-]+\\.gif\\?(?:[^&]+&)*?fm=mp4[^#]*)(.*)","to":":\nif($[2]!==0)return $[2]=='#mp4'?$[0]:$[1]+'#mp4'\nvar u,p,c,n=window.location.hostname.slice(-10)=='reddit.com'&&this.node\nif(!n)return''\nif(n.matches('div.link a.thumbnail,div.link a.thumbnail>img, div.link a.title, div.link a.thumbnail.image')) {\n p=n;while((p=p.parentElement)&&!p.matches('div.link'));\n u=p.dataset, u=u.url||u.hrefUrl\n if(u&&/(v\\.redd\\.it|\\.reddit\\.com\\/gallery)\\//.test(u))return u\n c=p&&p.querySelector('div.expando[data-cachedhtml]')\n c=c&&c.getAttribute('data-cachedhtml')\n u=c&&c.match(/(?:<a href|(?:class=\"preview\"|<source) src)=\"([^\"]+)/g)\n if(u) {\n  u=u.map(function(i){\n   var u=i.slice(i.lastIndexOf('\"')+1).replace(/&amp;/g,'&');\n   return u+(i[1]=='s'?'#mp4':'')\n  });\n  u=c.indexOf('<source')!=-1?u.reverse():u\n  return u.length?u.join('\\n'):''\n }\n u=p.dataset, u=u.url||u.hrefUrl\n}else if(n.matches('a.Post__titleLink')) {\n u = n.closest('.Post__top').querySelector('a.PostThumbnail').href\n}else if(n.matches('a[data-click-id=body]>div>h3,.Post div>div[role=img]')){\n p=n.closest('div[id^=t3_]');\n if(p&&p.querySelector('p,i.icon-text'))return ''\n p=p.querySelector('a>.icon-outboundLink')\n p=p ? p.parentElement : {href: '//www.reddit.com/by_id/t3_'+$[1]+'.json'}\n p=this.find({href: p.href, IMGS_TRG: n})\n n.title = n.getAttribute('aria-label') || n.title\n return (Array.isArray(p) ? p.join('\\n') : (p === null ? 'null' : p)) || ''\n}\nreturn u&&/^(https?:)?\\/\\/i\\.redd\\.?it/.test(u)?u:''"}}

Всего записей: 108 | Зарегистр. 21-07-2014 | Отправлено: 12:59 28-12-2023 | Исправлено: hababr, 14:17 28-12-2023
kenko2



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Разобрался, Озон почему-то рандомно меняет домен в адресе картинки после обновления страницы. Обновленное правило

Круто, теперь все работает.
 

Цитата:
Предыдущий дизайн остался по адресу new.reddit.com

Это который https://www.reddit.com/? Или есть разница? Я на нем просто сижу. А так вообще там дичь полная с этими дизайнами, есть же еще https://old.reddit.com/. И все эти адреса надо в фильтрах учитывать.
 

Цитата:
чтобы видео там открывалось надо обновить правило REDDIT_media

Фильтр заменил, но здесь у меня ничего не работает (ни видео, ни картинки):
https://sh.reddit.com/r/IRLgirls/?feedViewType=classicView
https://sh.reddit.com/?feed=home&feedViewType=classicView
(именно в classicView)
 
PS
Еще есть небольшой вопрос по Eldorado.ru. Разраб с Реддит его вроде как починил, и сам по себе фильтр кажется рабочий, но на сайте похоже срабатывает какая-то защита и через пару-тройку нормальных срабатываний фильтр начинает выдавать "желтый спиннер". Что это за хрень нам с ним не понятно (ему вообще сложно зайти, сайт блочит доступ), может ты разберешься? Или может у тебя в твоем Вивальди вообще все с Eldorado.ru норм?

Всего записей: 3809 | Зарегистр. 10-11-2005 | Отправлено: 15:50 28-12-2023 | Исправлено: kenko2, 15:55 28-12-2023
hababr

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
kenko2
www.reddit.com - как я понимаю, тут у разных людей может быть разный дизайн.
 
sh.reddit.com - это новый новый самый последний дизайн, я глубоко не копал, но думаю, что Imagus там будет оч плохо работать из-за технологии самой страницы. Картинки вроде открываются, но видео и альбомы - нет.
 
old.reddit.com - самый старый дизайн, многим нравится - мне нет, я использую следующий.
 
new.reddit.com - это дизайн, который был последние годы на www.reddit.com
 
Кстати, если я открываю new.reddit.com не залогинившись, то меня перекидывает на www.reddit.com и там дизайн такой же как на sh.reddit.com. Но у других людей может быть иначе.
 
Eldorado гляну.

Всего записей: 108 | Зарегистр. 21-07-2014 | Отправлено: 18:48 28-12-2023 | Исправлено: hababr, 18:52 28-12-2023
kenko2



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
sh.reddit.com - это новый новый самый последний дизайн, я глубоко не копал, но думаю, что Imagus там будет оч плохо работать из-за технологии самой страницы. Картинки вроде открываются, но видео и альбомы - нет.

Ясно. Т.е. по ссылкам выше Имагус работать там не будет?

Всего записей: 3809 | Зарегистр. 10-11-2005 | Отправлено: 19:24 28-12-2023
hababr

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Ясно. Т.е. по ссылкам выше Имагус работать там не будет?

Наверняка пока сказать не могу, но очень вероятно.

Всего записей: 108 | Зарегистр. 21-07-2014 | Отправлено: 19:33 28-12-2023
kenko2



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
hababr

Цитата:
Наверняка пока сказать не могу, но очень вероятно.

Там у видео другой адрес кстати:
https://packaged-media.redd.it/bfvcuwa1o09c1/pb/m2-res_788p.mp4?m=DASHPlaylist.mpd&v=1&e=1703790000&s=023456f22f57b75261737e44c627f718d2d6a651#t=0
А браузер спокойно это видео сохраняет через "Сохранить видео как..." в контекстном меню, с названиями типа:
m2-res_854p.mp4

Всего записей: 3809 | Зарегистр. 10-11-2005 | Отправлено: 19:55 28-12-2023 | Исправлено: kenko2, 19:55 28-12-2023
hababr

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
kenko2
Поторопился я с предположениями, вот обновленный REDDIT_media, работает на sh.reddit.com.
Код:
{"REDDIT_media":{"link":"^(?:[a-z]{2,5}(?:-[a-z]{2})?\\.)?reddit\\.com/(?:r|user)/[^/]+/comments/([\\da-z]+)/[^/]+/(?:\\?utm_content=(?:title|thumbnail).*)?$","loop":1,"img":"^(g\\.redditmedia\\.com/[\\w-]+\\.gif\\?(?:[^&]+&)*?fm=mp4[^#]*)(.*)","to":":\nif ($[2] !== 0) return $[2] == '#mp4' ? $[0] : $[1] + '#mp4'\nvar u, p, c, n = window.location.hostname.slice(-10) == 'reddit.com' && this.node\n\nif (!n) return ''\n\nif (n.matches('div.link a.thumbnail,div.link a.thumbnail>img, div.link a.title, div.link a.thumbnail.image')) {\n    p = n; while ((p = p.parentElement) && !p.matches('div.link'));\n    u = p && p.dataset, u = u && (u.url || u.hrefUrl)\n    if (u && /(v\\.redd\\.it|\\.reddit\\.com\\/gallery)\\//.test(u)) return u\n    c = p && p.querySelector('div.expando[data-cachedhtml]')\n    c = c && c.getAttribute('data-cachedhtml')\n    u = c && c.match(/(?:<a href|(?:class=\"preview\"|<source) src)=\"([^\"]+)/g)\n    if (u) {\n        u = u.map(function (i) {\n            var u = i.slice(i.lastIndexOf('\"') + 1).replace(/&amp;/g, '&');\n            return u + (i[1] == 's' ? '#mp4' : '')\n        });\n        u = c.indexOf('<source') != -1 ? u.reverse() : u\n        return u.length ? u.join('\\n') : ''\n    }\n    u = p.dataset, u = u.url || u.hrefUrl\n\n} else if (n.matches('a.Post__titleLink')) {\n    u = n.closest('.Post__top').querySelector('a.PostThumbnail').href\n\n} else if (n.matches('a[data-click-id=body]>div>h3,.Post div>div[role=img]')) {\n    p = n.closest('div[id^=t3_]');\n    if (p && p.querySelector('p,i.icon-text')) return ''\n    p = p.querySelector('a>.icon-outboundLink')\n    p = p ? p.parentElement : { href: '//www.reddit.com/by_id/t3_' + $[1] + '.json' }\n    p = this.find({ href: p.href, IMGS_TRG: n })\n    n.title = n.getAttribute('aria-label') || n.title\n    return (Array.isArray(p) ? p.join('\\n') : (p === null ? 'null' : p)) || ''\n\n} else if (n.matches('a.absolute')) {\n    u = n.parentElement?.attributes?.['content-href']?.value\n    if (u) return u\n}\n\nreturn u && /^(https?:)?\\/\\/i\\.redd\\.?it/.test(u) ? u : ''"}}

Всего записей: 108 | Зарегистр. 21-07-2014 | Отправлено: 23:02 28-12-2023 | Исправлено: hababr, 23:03 28-12-2023
kenko2



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
hababr
Отлично, теперь все работает.

Всего записей: 3809 | Зарегистр. 10-11-2005 | Отправлено: 11:27 29-12-2023 | Исправлено: kenko2, 12:17 29-12-2023
kenko2



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
hababr
Можешь посмотреть что с Domclick.ru? У меня серый спиннер на всех браузерах.
 
PS
С Eldorado.ru все странно - теперь он у меня вроде работает, на 80-90%. Но бывает желтый спиннер иногда.

Всего записей: 3809 | Зарегистр. 10-11-2005 | Отправлено: 01:36 11-01-2024
GoblinNN

Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
kenko2
я что-то забыл. фильтры раз в месяц обновляются? или уже все. конец?

Всего записей: 2908 | Зарегистр. 11-10-2005 | Отправлено: 03:41 11-01-2024
Barral



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
GoblinNN, фильтры обновляются, ссылка есть в шапке.

Всего записей: 6168 | Зарегистр. 24-12-2002 | Отправлено: 06:13 11-01-2024
hababr

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
kenko2
Domclick.ru:
Код:
{"Domclick.ru":{"link":"^domclick\\.ru/card/\\w+__\\w+__\\d+","url":": (()=>{if (!this.node.closest('[data-test=\"product-snippet-property-offer\"]')) throw ''; return $[0]})()","res":":\nvar res = [];\n\nconst data = JSON.parse($._.match(/window\\.(?:__SSR_STATE__|__PRELOADED_STATE__)\\s*=\\s*({.+})/)?.[1]?.replace(/:undefined/g, ':\"\"') || '\"\"');\n\nlet descr = data.productCard?.originalProduct?.object_info?.description || data.shell?.data?.newFlat?.objectInfoList?.description;\n\n[\n    ...data.productCard?.originalProduct?.photos || [],\n    ...data.shell?.data?.newFlat?.photo || [],\n    ...data.shell?.data?.newFlat?.complexPhotos || []\n]\n.forEach(function (item, i) {\n    res.push([\n        'https://img.dmclk.ru/s2000x2000q100' + (typeof item == 'string' ? item : item.url),\n        i === 0 ? descr : ''\n    ]);\n});\n\nreturn res;","img":"^img\\.dmclk\\.ru/s\\d+x\\d+q\\d+/(vitrina/.+.webp)","to":"img.dmclk.ru/$1","note":"hababr\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=2060#7\nOLD\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=3760#8\n\n!!!\nКурсор наводить на название объекта. На странице самого объекта работает только для \"Похожие объявления рядом\".\n\nПРИМЕР\nhttps://domclick.ru/arenda/kvartiry/odnokomnatnaja\nhttps://spb.domclick.ru/search?deal_type=sale&category=living&offer_type=flat"}}

 
На Eldorado.ru какая-то блокировка срабатывает.

Всего записей: 108 | Зарегистр. 21-07-2014 | Отправлено: 12:59 11-01-2024 | Исправлено: hababr, 13:00 11-01-2024
kenko2



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
hababr

Цитата:
Domclick.ru

Работает, спасибо!
 
Если есть время, то хотелось бы еще для этих сайтов фильтры -
 
PRICE.RU
https://price.ru/videokamery/
https://price.ru/search/?query=телевизор+philips
https://price.ru/mobilnye-telefony/smartfony/?brand_id=246
 
SIMA-LAND.RU
https://www.sima-land.ru/vazy/?c_id=345&catalog=new-catalog
https://www.sima-land.ru/akkumulyatornye-dreli-shurupoverty/?sort=rating
https://www.sima-land.ru/search/?per-page=20&q=телевизоры%2055&sort=price&viewtype=list

Всего записей: 3809 | Зарегистр. 10-11-2005 | Отправлено: 13:50 11-01-2024
Shadowland

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
обновите, пожалуйста, Rule34.Paheal-x-p

Всего записей: 459 | Зарегистр. 14-11-2005 | Отправлено: 07:28 20-01-2024 | Исправлено: Shadowland, 07:28 20-01-2024
hababr

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
kenko2
Price.ru:
Код:
{"price.ru":{"link":"^price\\.ru/[^/]+/[^/]+/","ci":3,"res":":\nconst res = [];\nconst doc = new DOMParser().parseFromString($._, \"text/html\");\n\nArray.from(doc.querySelectorAll('.model-slider__sub img')).forEach(el => {\n    res.push([el.src.replace(/\\d+x\\d+/, '2000x2000')]);\n});\nreturn res;\n","img":"^(static\\.price\\.ru/images/models)/\\d+x\\d+/(.+\\.(?:jpe?g|png))","to":"$1/2000x2000/$2"}}

Всего записей: 108 | Зарегистр. 21-07-2014 | Отправлено: 17:38 20-01-2024
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132

Компьютерный форум Ru.Board » Компьютеры » Программы » Imagus (Часть 2)


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru