Бюджет: 3500 UAH Термін: 5 днів
Добрый день, можно реализовать обход сloadflare что снимет кеширование.
Цель проект - получить некэшированные ответы для их парсинга на следующих сайтах:
Сайты (смотреть страницы товаров):
- https://www.endclothing.com/eu/
- https://www.sneakersnstuff.com/
Примеры ссылок:
Первый веб-сайт "END" - https://www.endclothing.com/eu/nike-air-max-720-818-ci3871-300.html или https://api2.endclothing.com/eu/rest/V1/end/catalog/link?link=%252Feu%252Fnike-air-max-720-818-ci3871-300.html&storeId=3
Второй сайт "SNS" - https://www.sneakersnstuff.com/en/product/40771/jordan-brand-air-jordan-3-retro-se
Cейчас в ответ на request сайта "END" мы получаем(скрин прилагаю):
cache-control: max-age=600
Cейчас в ответ на request сайта "SNS" мы получаем(скрин прилагаю):
cache-control: private
cf-cache-status: DYNAMIC
Задача: в ответ на request получать:
Cache-Control: max-age=0 или no-cache,
Pragma: no-cache
предпочтительно, используя Python requests или другое - открыт для предложений.
Бюджет: 3500 UAH Термін: 5 днів
Добрый день, можно реализовать обход сloadflare что снимет кеширование.
Защиты все проходим, но не удается получить некешированные страницы.
То, что получаем - это кешированные, о чем и говорит response headers с моих скринов.
Я понимаю, что эти настройки со стороны владельца сайта, но все таки ищу способ обойти их)
cloudflare це мережа проксі серверів розкиданих по всьому світі, щось подібне на тор(якщо знаєти), а кешують вони сторінку, для збереження трафіка, щоб обійти це потрібно взнати IP сервера, а якщо його хтось взнає, це значить що cloudflare хтось ставив косячно
або так )
https://docs.pylonsproject.org/projects/pylons-webframework/en/latest/caching.html
це потрібно взнати IP сервера = от спробуйте це з google - відома айпішка. Чи з будь яким іншим сайтом, який кешує дані = чи у Вас це вийде знаючи реальну айпіху сайту )))
Як програміст для сайта написав = тобто в респонзі додаються ці параметри max-ege=100 = наприклад (https://stackoverflow.com/questions/23112316/using-flask-how-do-i-modify-the-cache-control-header-for-all-output)
ось таке наприклад
https://stackoverflow.com/questions/32235706/python-requests-module-caching-websites
чи з cachecontrol ліби для пайтона уже нічого не рішає
чи рішає ? ))) = ось питання для Вас )))
Ну по суті що кешувати рішає кліент ,тобто браузер, і оператори які економлять трафік.
Коли йде запрос до сервера під cloudflare, то це відбувається якось так
[кліент] => [проксі сервер] => [кінцевий сервер]
Щоб получити доступ до реального сервера (кінцевий сервер), потрібно пройти провірки проксі сервера(це і рекапча, і відповідність заголовків запроса до потрібного формата, і провірка IP в спам базах і базах DDOS,бо Cloudflare це защіта від DDOS а не від парсінга),вродіби якщо скопірувати куки з браузера, і послати в запросі то це поможе(ну це не точно), ну це чуточку костильно)
,вродіби якщо скопірувати куки з браузера, і послати в запросі то це поможе(ну це не точно), ну це чуточку костильно)
=
не поможе )))
Ну по суті що кешувати рішає кліент НІ рішає не користувач а той, хто створює свій ресурс. і рішає він ось таким одним із способів:@app.after_request def add_header(response): response.cache_control.max_age = 300 return responseякщо такого немає і є наскірзий трафік = то аж тоді (якщо ці дири не перекриті кодом) - то рішає користувач ось таким можливим способомheaders = { 'cache-control': 'private, max-age=0, no-cache' }
Ну ви коли відправляєти запрос до сервера, сервер відповідає, збережіть в кеші картінки(тобто збережіть на жосткім диску), ви їх не зберігаєти, бо бібліотека яку використовуєти для запросів, понятія немає про цей заголовок, тобто самий кліент рішає чи зберігати йому цю картінку, браузери їх канешно зберігають.
ось тут я і підвів Вас до рішення - сервер в кінцевій меті вирішує де ви і для кого ці кеші ставите а не Ви, чи Ваш браузер )))
Тобто розробник сайту може для Вас дозволити, щоб ви собі ці кеші ЛОКАЛЬНО установили, або ж цей розробник буде Вам слати кешовані дані , які зашиті в нього в коді хардкордно (response.headers.cachecontrol:max-age=300) і Ви це НІЯК не зміните уже = які б параметри не слали, куди б не слали = Ви отримуватимете одну і ту ж відповідь.
От якщо розробник сайту встановлює що його респонс хедер змінюється в залежності від Вашого реквест хедеру = тоді ТАК - тоді Ви можете якось на це вплинути
але якщо розробник вирішує від Вас ховати дані на 1 добу реальні = то цей розробник дасть Вам кеш своїх даних .
і як не старайтеся - не отримаєте реальних його даних = ну принаймі не таким чином )) треба БД ломати сайту а не реквестами )))
Вам проксі сервер шле кеш https://prnt.sc/rjtm2j, тобто самий Cloudflare
Cloudflare ви канешно не взломаєти
Ну якщо знайдети реальний IP сайта на якому немає Cloudflare https://prnt.sc/rjtkp9
Там один сайт під https://ru.wikipedia.org/wiki/Akamai_Technologies другий https://www.cloudflare.com/ , ну корочім вам повезло)))
Ну якщо знайдети реальний IP сайта на якому немає Cloudflare = так = я взяв для прикладу свій самописний сайт
на моєму сайті є
HTTP/1.1 200 OK
Date: Fri, 20 Mar 2020 18:55:25 GMT
Server: Apache
X-Powered-By: PHP/5.3.29
Expires: Fri, 20 Mar 2020 17:55:25 GMT
Cache-Control: post-check=0, pre-check=0
Pragma: no-cache
Content-Encoding: gzip
Vary: Accept-Encoding
Upgrade: h2,h2c
Connection: Upgrade, Keep-Alive
Last-Modified: Fri, 20 Mar 2020 17:55:25 GMT
Keep-Alive: timeout=3, max=100
Transfer-Encoding: chunked
Content-Type: text/html; charset=UTF-8
ось це
Cache-Control: post-check=0, pre-check=0
то поміняйте реквестом , чи в реквест хедері в параметрах чи в куках задайте,щоб отримати відповідь не таку з респонс хедера Cache-Control: post-check=0, pre-check=0
а наприклад ось таку
Cache-Control: max-age=0
сайт = soh15.com
зможете поміняти ? ))))
Не канешно, це вже на уровні сервера,https://prnt.sc/rju11m
А смисл вам з цього заголовку?Ну відправить сервер цей заголовок, ну ваша бібліотека цього заголовка не пойме
Тобто ви хочете ламанути https://ru.wikipedia.org/wiki/Akamai_Technologies 😅 😄 , з всіма потрохами
А смисл вам з цього заголовку? = в тому то і суть ))) що ніякої користі ))))
є різні типи кешів = на даний момент їх біля 123 типів. і всі вони діляться шрубо на 4 категорії.
ми, користувачі, можемо управляти тільки однією з них = і то якщо програміст-розробник для нас це передбачив )))
а от розробники = ясен пень що всіма можуть управляти ))
https://tproger.ru/translations/cache-levels-on-the-web/
http://xmlhack.ru/texts/06/doing-http-caching-right/doing-http-caching-right.html
вы можете получать и не кешированые, это правило которое говорит браузеру чтобы он придержал у себя кеш на это время.
у меня без кеша https://paste.pics/56ca42d14d66909bdbd372e36a507391
что именно вы там делаете?
попробовал, -- хитро сделано.
основная задача у вас попарсить немного картинок?
Задача - парсить инфу о товарах, картинки в том числе. Для этого уже есть скрипт на питоне, но сайт отдаёт кешированные страницы, а нас нужно получить некешированные, чтобы response header был no-chache или max-age=0
если просто на сайт - то да, все параметри ок, без кеша. а Ви зайдите на страницу конкретного товара = получите и блоки и кеши )))
Все защиты мы проходим успешно и Парсинг работает ок, вопрос именно в кеше - читайте описание проекта внимательно и смотрите скрины!
возвращаемые заголовки предназначены для клиента.
cache-control: max-age=600 говорит браузеру, что он (браузер) может держать кеш максимум 10 минут, private\public указывают это же для проксей по пути следования пакетов.
этот заголовок не говорит, что серверный кеш был сформирован 10 минут назад.
с вас триста долларов за консультацию.
почитайте вначале доки по кешам , какие то мануали по http протоколам ))))))))))))))))))))))))))))))))
возвращаемые заголовки предназначены для клиента.
cache-control: max-age=600 говорит браузеру, что он (браузер) может держать кеш максимум 10 минут, private\public указывают это же для проксей по пути следования пакетов.Ну тут він правий
cache-control: max-age=600 говорит браузеру, что он (браузер) может держать кеш максимум 10 минут,
cache-control: max-age=600 говорит браузеру, что он (браузер) может держать кеш максимум 10 минут,
але що з того ? я поняв що воно так і є = але це не вирішує поставленої таски = отримати нам в респонс хедері max-age=0
от задайте так параметри = з будь якої мови програмування, з будь якого пакету так = щоб було в респонс хедері max-age=0
Ви не получите такого результата, сервер(проксі) налаштований так і всьо.
Може ваший оператор який інтернет вам роздає кешує ці дані для економії трафіку, попробуйте VPN
от про то і йшлося з самого початку в цій тасці ))))))))))))))
Ви не получите такого результата, сервер(проксі) налаштований так і всьо. = ото ж бо й воно !!! = я ж так і писав раніше ))) що власники тих ресурсів віддають щось типу того = response.header.cache-control:max-age=600 - і це не змінити уже ))) це як Танос-невідворотній з Месників )))))))))))
Може ваший оператор який інтернет вам роздає кешує ці дані для економії трафіку, попробуйте VPN - це не важливо уже бо так сервер настроїний, і без всяких там захистів =і все ))) vpn пробували і т д )))
Може ваший оператор який інтернет вам роздає кешує ці дані для економії трафіку, попробуйте VPN - це не важливо уже бо так сервер настроїний, і без всяких там захистів =і все ))) vpn пробували і т д )))
Ну це важливо, бо якщо у вас оператор екомить трафік, коли ви парсити сайт ви відправляєти один запрос і получаєти відповідь від сервера max-age=600 , то ваший оператор може закешувати цю відповідь до свого кеша і в подальшому надсилати відповідь на ваший запрос з свого кеша
МІЙ оператор НЕ КЕШУЄ )))
є в мене 4 оператори - я бачу які кешують, а які НІ)))
і задача не в ому полягає, а в іншому )))
я здесь читаю https://tools.ietf.org/html/rfc7234 от 4.2 Calculating Freshness Lifetime , а вы где?
неужели в http/2 кеши так сильно изменились?
напишите как нам иметь в респонс хедерах cache-control: max-age=0 )))
а не то что Ви пишите )))
А як ви обходите защіту , за допомогою емуляції браузера(selenium і тому подібних)?
ні, по іншому )))
клаудфюрі та амакамі по іншому обходимо = нестандартне рішення = не як інші привикли = в лоб, а по іншому )
Трохи деякі деталі непонятні, якщо наприклад ви не використовуєти браузер, то нащо вам кеш по суті.
Якщо наприклад проксі кешує(яка знаходиться між вами і справжнім сервером) в свій кеш, то та проксі , перед надсилає до справнього сервера запрос, і провіряє коректність даних(тобто перевіряє хеш своїх даних, і хеш даних на сервері), якщо дані коректні то відправляє дані до вас.
Якщо ви наприклад використовує прямий запрос до сервера, то смисл вам даного заголовка, сервер вам надіслав заголовки що маєти зберегти в кеш певні дані, ну ви не маєти підкорятися серверу і зберігати ті дані в кеш, бо його як такого то немає в бібліотеці яку ви використовує(я точно незнаю яку ви бібліотеку використовуєти),ви просто надсилає ще один такий самий запрос до сервера і всьо , а сервер хай собі шле всьо що йому треба, це просто текст і всьо, для протокола http )))
Якщо вам потрібні дані наприклад не з кешу самого сервера, а напряму, а смисл цього, я думаю адміністратор сервісу мав подумати щоб вам всігда приходили актуальні дані, бо по суті їм ж треба якось обновляти ціну наприклад на товар.
мы тут не обучаем фрилансеров, а сами хотим получить ответ на свой вопрос)
Та мені не дуже цікаве рішення, просто хтів взнати які решення використуються для обхода защіти, без цього неможна дати коректної відповід
можем продать Вам решение за деньги))
тут же коммерческая биржа, не форум по интересам)
Вы же тоже не бесплатно выполняете работу по проектам)
sneak-prod-main-primary-m-1135616142.eu-west-1.elb.amazonaws.com
Увы доступ из мира закрыт.
И не такое бывало, вот у nordvpn экспайрился сервисный домен и его перехватывали.
Проект: YOKA ASSIST — інтелектуальна система діагностики та навчання для гірничої техніки Опис проекту Потрібно розробити інтелектуальну систему YOKA ASSIST на базі Telegram-бота з використанням штучного інтелекту. Основне завдання проекту — створити цифрового помічника для електриків, механіків, машиністів та інженерно-технічного персоналу, який буде допомагати в діагностиці несправностей, навчанні співробітників та зберіганні технічної бази знань. Перший етап проекту орієнтований на кар'єрну техніку (екскаватори ЕКГ, бурові станки СБШ та інше обладнання), але архітектура повинна бути універсальною та легко масштабованою. Основний функціонал Telegram-бот - Сучасний інтерфейс. - Меню з кнопками. - Авторизація користувачів. - Розподіл прав доступу (користувач, адміністратор, головний адміністратор). Штучний інтелект База знань Необхідно створити систему зберігання знань. Підтримка: - PDF; - Word; - Excel; - фотографії; - схеми; - відео; - інструкції; - паспорти обладнання; - технічні документи. Після додавання інформації адміністратором ШІ повинен використовувати її при відповідях без зміни програмного коду. Діагностика обладнання Підтримка пошуку: - за кодом помилки; - за назвою захисту; - за шафою; - за блоком; - за обладнанням; - за симптомами. Для кожної несправності бажано передбачити: - опис; - можливі причини; - послідовність перевірки; - фотографії; - схеми; - відеоматеріали; - посилання на пов'язані документи. Динамічні кнопки Кнопки повинні формуватися автоматично в залежності від ситуації. Наприклад: - Перевірити шафу. - Подивитися схему. - Подивитися відео. - Наступний етап діагностики. - Повернутися назад. Адміністративна панель Головний адміністратор повинен мати можливість: - додавати обладнання; - створювати нові помилки; - додавати документи; - завантажувати фотографії; - завантажувати відео; - редагувати базу знань; - управляти користувачами; - призначати адміністраторів окремих підрозділів. QR-система Кожен шафа, блок або обладнання може мати власний QR-код. Після сканування користувач одразу потрапляє в відповідний розділ Telegram-бота. Журнал ремонтів Необхідно реалізувати журнал виконаних робіт. Функції: - хто виконував ремонт; - дата і час; - обладнання; - опис виконаних робіт; - використані матеріали; - коментарі; - історія ремонтів. Аналітика Бажано реалізувати: - найбільш часті несправності; - статистику ремонтів; - час усунення несправностей; - звіти по обладнанню; - звіти по співробітниках. Масштабованість Архітектура повинна дозволяти без переписування проекту: - додавати нові види техніки; - нові підприємства; - нові підрозділи; - нові бази знань. Технології Бажано: - Python; - Telegram Bot API; - PostgreSQL або SQLite (на першому етапі допускається SQLite); - інтеграція з ШІ через API; - модульна архітектура; - можливість подальшого підключення веб-панелі. Що очікується від виконавця - Розробка повністю робочого проекту. - Чистий і зрозумілий код. - Документована структура проекту. - Можливість подальшого розвитку без повної переробки. - Допомога з початковим розгортанням і налаштуванням проекту. Проект довгостроковий. Після успішного виконання першого етапу можливі подальші доопрацювання та розвиток системи.
Шукаю досвідченого Python-розробника, який зможе провести повний аудит існуючого проєкту, усунути помилки та довести його до повністю стабільної роботи. За необхідності допускається повна переробка архітектури проєкту або написання нової реалізації з збереженням усієї необхідної функціональності. Що надам Вихідний код поточного бота. Відео з демонстрацією того, як має працювати бот. Повне технічне завдання з логікою роботи. Основне завдання Необхідно відновити стабільну роботу бота та гарантувати виконання повного сценарію без збоїв. Якщо поточну архітектуру неможливо якісно виправити, допускається повна переробка проєкту. Головна мета — не зберегти існуючий код, а отримати повністю робочий, стабільний і підтримуваний продукт. Що необхідно зробити 1. Провести аудит проєкту Перед початком роботи необхідно: вивчити існуючий код; визначити причини, чому бот перестав працювати; оцінити, що можна виправити, а що доцільніше переписати. 2. Відновити всю функціональність Після завершення робіт бот має коректно виконувати весь сценарій: реєстрація нового акаунта; підтвердження входу за кодом з електронної пошти; авторизація; виконання сценарію відповідно до технічного завдання; завершення роботи; перехід до наступного акаунта. Усі етапи мають працювати автоматично без ручного втручання. 3. Виправити існуючі помилки Необхідно усунути будь-які помилки, пов'язані з: авторизацією; отриманням коду підтвердження; нестабільною роботою; зависаннями; неочікуваним завершенням програми; помилками після оновлень сайту; некоректною обробкою виключень. 4. Зробити проєкт стійким Бот має: коректно обробляти помилки; не йти в безкінечні цикли; автоматично завершувати невдалі сценарії; коректно продовжувати роботу після некритичних помилок; вести зрозумілі логи. 5. Панель управління Необхідно зберегти або переробити панель управління. Вона має дозволяти: запускати та зупиняти роботу; змінювати необхідні налаштування; переглядати поточний статус; переглядати журнал роботи та помилок. Інтерфейс має бути зрозумілим і стабільним. 6. Код Вимоги до коду: зрозуміла структура проєкту; розділення логіки по модулях; можливість подальшої підтримки. 7. Сумісність Проєкт має запускатися на сучасній версії Python. Виконавець зобов'язаний надати повний список залежностей та інструкції по запуску. 8. Перевірка результату Перед здачею проєкту виконавець зобов'язаний продемонструвати повністю робочий сценарій на відео: запуск проєкту; проходження повного циклу; відсутність помилок; коректну роботу всіх функцій. Що надати після завершення вихідний код; усі змінені файли; інструкції по запуску; список залежностей; відео демонстрації роботи; короткий опис виконаних змін. Важливо Робота вважається завершеною тільки після того, як увесь функціонал, описаний у технічному завданні та демонстраційному відео, буде працювати стабільно без критичних помилок. Якщо в процесі аудиту з'ясується, що поточний проєкт неможливо якісно виправити, допускається його повна переробка з збереженням усієї необхідної функціональності. При відповіді прошу одразу вказати: досвід роботи з Python; досвід автоматизації браузерів (Playwright, Selenium або аналогічні інструменти); досвід роботи з REST API; вартість роботи; орієнтовні терміни виконання.
Ми шукаємо висококваліфікованого інженера з розробки AI-додатків та повноцінного бекенд-розробника для створення готового до виробництва робочого процесу валідації, вдосконалення та затвердження документів на основі AI. Це не проста роль інженера запитів. Нам потрібен хтось, хто може спроектувати та реалізувати справжній AI-додаток з потужною бекенд-архітектурою, інтеграцією API Claude, структурованою логікою валідації, аудитом, безпечним обробленням даних та робочими процесами з участю людини. Система буде діяти як інтелектуальний шар контролю якості для поданих звітів та документів. Вона повинна перевіряти завершені подання, виявляти проблеми, покращувати якість контенту, застосовувати бізнес-правила, захищати чутливу інформацію та або автоматично затверджувати документ, або перенаправляти його на людську перевірку. Розробник буде відповідальний за створення робочого процесу, який може: Отримувати завершені документи, звіти або подання з зовнішньої платформи через API Аналізувати повний документ, включаючи структуровані відповіді, оцінки, вибори, наративи, коментарі та поля вільного тексту Виконувати семантичні аудити для виявлення логічних конфліктів, суперечностей, відсутньої інформації, неясних висловлювань, непідтримуваних тверджень або неповних розділів Перевіряти, що структуровані відповіді та написаний контент узгоджуються між собою Застосовувати спеціальні правила валідації, редакційні вказівки, стандарти форматування, вимоги до тону та бізнес-логіку Виявляти, токенізувати, маскувати або безпечно обробляти PII, конфіденційні дані та чутливу інформацію, пов'язану з безпекою, перед обробкою AI, де це необхідно Переписувати та вдосконалювати наративи, коментарі та розділи документів з точки зору граматики, ясності, професіоналізму, узгодженості та читабельності Зберігати оригінальне значення, спостереження та наміри, покращуючи фінальний результат Стандартизувати стиль написання в документах, не роблячи кожен звіт загальним або надто нормалізованим Позначати контент, який виглядає несумісним, сфабрикованим, неясним, неповним, чутливим або таким, що потребує людської перевірки Генерувати конкретні нотатки валідації, пояснюючи, чому документ не пройшов перевірку та що потрібно виправити Автоматично генерувати запити на уточнення або перегляд, коли потрібна додаткова інформація Підтримувати робочі процеси затвердження, де документи є: Автоматично затвердженими, коли досягаються пороги впевненості Перенаправленими на людського редактора або валідатора для перевірки Повернутими до початкового подавача для перегляду або уточнення Зберігати повний аудитний слід, що показує: Оригінальне подання Токенізовані або замасковані події чутливих даних Висновки та рекомендації AI Переписаний контент AI Редагування людиною Рішення про затвердження або відхилення Остаточну затверджену версію Записувати затверджений та валідований контент назад на вихідну платформу через інтеграцію API Роль також вимагає створення редактора та робочого процесу остаточного рішення. Людські рецензенти повинні мати можливість перевіряти висновки AI, порівнювати оригінальний та переглянутий контент, вносити правки, затверджувати зміни, відхиляти рекомендації та фіналізувати документ перед його відправленням далі. Ідеальний досвід включає: Сильний досвід інтеграції API Claude / Anthropic API Досвід створення робочих процесів перевірки, валідації, редагування або відповідності документів на основі AI Сильні навички бекенд-архітектури Здатність до повноцінної розробки Досвід з інтеграцією API, вебхуками, чергами, обробкою завдань та проектуванням бази даних Здатність проектувати структуровані виходи AI, оцінку впевненості, валідацію на основі правил та перевірку з участю людини Досвід виявлення PII, токенізації, маскування, шифрування, контролю доступу та безпечного оброблення даних AI Досвід створення безпечних аудитних слідів та систем затвердження Сильне розуміння дизайну запитів, але також інженерні навички для перетворення запитів на надійну виробничу систему Ми шукаємо когось, хто вже створив серйозні AI-додатки, а не когось, хто лише пише запити. Правильна людина повинна бути здатною спроектувати архітектуру, інтегруватися з зовнішніми API, управляти логікою обробки документів, захищати чутливі дані, створювати інтерфейс перевірки та забезпечити надійний робочий процес, який можна використовувати в виробництві.
Шукаємо 3D GenAI Engineer / AI 3D Pipeline Developer Потрібно створити рішення, яке зможе якісно генерувати 3D-моделі з одного зображення або кількох зображень. Важливо, щоб це була не просто готова демка, а зрозумілий і відтворюваний процес: від вхідного зображення до повноцінного 3D-асета з mesh, геометрією, текстурами та можливістю подальшого використання. Що потрібно зробити: - протестувати сучасні image-to-3D моделі і підходи; - визначити, який варіант найкраще підходить для нашого завдання; - використати Trellis, Hunyuan3D або аналогічні рішення; - за потреби використати Gaussian Splatting у 3D-пайплайні; - налаштувати перетворення Gaussian Splat / splat-представлення у 3D mesh; - отримати придатну до використання геометрію; - згенерувати текстури високої якості; - довести результат до стану usable 3D asset; - підібрати оптимальний баланс між якістю, швидкістю генерації та складністю пайплайна; - побудувати зрозумілий процес, який можна буде повторювати для різних зображень; - виконати fine-tuning, LoRA або інші адаптації моделей під конкретний тип об'єктів.
Необхідно підключити форму заявки на лендінгу до keycrm. Всі необхідні доступи надам. Пишіть скільки займе по часу та коштам така задача.