64h
Advanced Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Instagram лютует и морозит аккаунты, с этим нужно что-то делать. Вот два новых фильтра. Первый получает данные через новый API, а второй берёт их в HTML. Оба показывают картинки в разрешении 1440, на внешних сайтах не работают. Первый быстрее, второй помедленней, но зато может быть безопасней в плане заморозки. Код: {"Instagram_graphql":{"link":"^instagram\\.com/(?:p|reel)/([\\w-]+).*","url":"data:,$1","res":":\nif (location.hostname !== 'www.instagram.com') return\n\nconst elem = document.createElement('script')\nelem.textContent = 'sessionStorage.setItem(\"__imagus_fb_dtsg\", fb_dtsg); sessionStorage.setItem(\"__imagus_doc_id\", require(\"PolarisPostRootQuery\").params.id); document.currentScript.remove();'\ndocument.head.appendChild(elem)\nconst fb_dtsg = sessionStorage.getItem('__imagus_fb_dtsg')\nconst doc_id = sessionStorage.getItem('__imagus_doc_id')\nsessionStorage.removeItem('__imagus_fb_dtsg')\nsessionStorage.removeItem('__imagus_doc_id')\n\nconst xhr = new XMLHttpRequest()\nxhr.open('POST', 'https://www.instagram.com/api/graphql', false)\nxhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded')\nxhr.setRequestHeader('X-IG-App-ID', '936619743392459') // not required, just in case\nxhr.send(`fb_dtsg=${encodeURIComponent(fb_dtsg)}&variables=%7B%22shortcode%22%3A%22${$[1]}%22%7D&doc_id=${doc_id}`)\n\nconst item = JSON.parse(xhr.responseText).data.xdt_api__v1__media__shortcode__web_info.items[0]\nconst capt = [\n `@${item.user.username}${item.user.full_name ? ` (${item.user.full_name})` : ''}`,\n new Date(item.taken_at * 1000).toLocaleString(navigator.language, { dateStyle: 'medium', timeStyle: 'medium' }),\n item.caption?.text\n].filter(Boolean).join(' | ')\nconst res = (i) => [ i.video_versions?.[0].url || i.image_versions2.candidates[0].url, capt ]\n\nreturn item.carousel_media?.map((e) => res(e)) || res(item)"}} |
Код: {"Instagram_html":{"link":"^instagram\\.com/(?:p|reel)/([\\w-]+).*","url":"data:,$1","res":":\nif (location.hostname !== 'www.instagram.com') return\n\nconst xhr = new XMLHttpRequest()\nxhr.open('GET', `https://www.instagram.com/p/${$[1]}/`, false)\nxhr.setRequestHeader('Accept', 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8')\nxhr.send()\n\nconst item = JSON.parse(xhr.responseText.match(/xdt_api__v1__media__shortcode__web_info\":(.+)},\"extensions/)[1]).items[0]\nconst capt = [\n `@${item.user.username}${item.user.full_name ? ` (${item.user.full_name})` : ''}`,\n new Date(item.taken_at * 1000).toLocaleString(navigator.language, { dateStyle: 'medium', timeStyle: 'medium' }),\n item.caption?.text\n].filter(Boolean).join(' | ')\nconst res = (i) => [ i.video_versions?.[0].url || i.image_versions2.candidates[0].url, capt ]\n\nreturn item.carousel_media?.map((e) => res(e)) || res(item)"}} | Фильтры требуют тестирования. Сейчас я активно использую Instagram_graphql, с аккаунтом пока всё в порядке. Насчёт боковой панели и стилей. Их можно указывать в тех фильтрах, которые вызывают панель. Редактировать код Extension не нужно. Например, в фильтре YouTube можно заменить <imagus-extension type="sidebar"> на <imagus-extension type="sidebar" custom-style="#imagus-extension.imagus-sidebar {background: padding-box rgb(34, 45, 90);} .imagus-sidebar > a {color: chocolate;}">. Соответственно, поменяются цвет фона и цвет ссылок. | Всего записей: 668 | Зарегистр. 06-09-2002 | Отправлено: 20:20 03-09-2023 | Исправлено: 64h, 20:28 03-09-2023 |
|