Этот материал о работе ChatGPT через прокси – когда может потребоваться такая схема и как её можно реализовать. Что умеет ChatGPT без прокси и какие есть ограничения для парсинга через ChatGPT.
Если вы задаётесь вопросами «может ли ChatGPT читать веб-страницы напрямую?» или «может ли ChatGPT получать доступ к сайтам?», то вот вам ответ: может, но с рядом существенных ограничений.
С недавних пор ChatGPT имеет собственный поисковой движок и механизм парсинга сайтов. Однако, параметры и описание технического стека не найти в открытых источниках. Что конкретно он может, а что нет – не узнать.
Плюс многое зависит от режима работы ChatGPT и задействованных дополнительных инструментов.
|
Режим работы ChatGPT |
Как ведётся работа с данными |
|
Базовый чат |
Умеет читать только то, что вставил пользователь или приложил в файлах. Прямые запросы к сайту не делает. |
|
Режим «Поиск в сети» |
Умеет читать информацию с указанных сайтов, но с типичными ограничениями простейших парсеров (без авторизации, могут быть сложности с JavaScript). Плюс данные собираются только с отдельных страниц – весь сайт не спарсить. |
|
API |
Web-поиск поддерживается начиная с GPT-4o Search Preview. А ещё есть отдельный инструмент – Web Search для Responses API. Ограничения такие же, как в режиме поиска. |
|
Собственный пайплайн, кастомные GPT и агенты |
За чтение страниц или за получение их кода отвечает внешний парсер. Данные могут очищаться, а могут отправляться на анализ в ИИ без изменения. ChatGPT здесь будет отвечать только за извлечение данных из кода, но не за получение этого кода. |
В общем, если вам нужно прямое чтение живых страниц, то ChatGPT пока не может вам помочь на 100%. Соответственно, при выстраивании комплексных систем парсинга нужно позаботиться об отдельном модуле для парсинга кода с сайтов. И вот уже с такими (сырыми) данными ChatGPT может помочь лучше, чем другие решения.
При обращении в классическом чате или по API ChatGPT не может получать доступ к ссылкам. Большая часть данных берётся из внутренней базы знаний – это то, что спарсили ранее и «скормили» LLM при обучении. В какой-то момент такие данные могут устареть, особенно если речь о ценах или о другом динамическом содержимом.
Однако, если воспользоваться специальным механизмом «Web Search», то LLM обращается к внутреннему инструменту поиска.
Новый API ответов для интеграции веб-поиска с web_search и gpt-5.5 поддерживает отдельные элементы управления веб-поиском: фильтры, указание источников, управление доступом в реальном времени и цепочки более длительных исследований (в рамках рассуждений).
То есть, если вы дадите ChatGPT прямую ссылку на сайт или на отдельные его страницы, то он может к ним обратиться напрямую. Но всё будет зависеть от возможностей поискового слоя OpenAI:
Самая главная причина – экономия вычислительных мощностей. Чтобы получить представление о продукте или об ассортименте услуг компании, об её особенностях, ценах и т.п., достаточно пройтись по ключевых страницам официального сайта. Этим ChatGPT и занимается. Веб-браузинг в ChatGPT нужен исключительно для актуализации отдельных данных при ответе на запросы пользователя. Не более. Все дополнительные задачи, которые выходят за рамки обозначенных целей, будут «резаться» алгоритмами встроенного поисковика.
Если ответ будет занимать слишком много времени и сил, то он финансово невыгодный.
Плюс стоит учитывать и другие ограничения встроенного скрапинга ChatGPT:
Итого: защиту Cloudflare ChatGPT обойти не может, закрытые разделы сайта ИИ не просматривает. Количество посещаемых страниц зависит от задачи пользователя, но оно всегда оптимизируется, чтобы сэкономить ресурсы. В первую очередь используются результаты поиска и только потом посещаются отдельные страницы целевого сайта – для уточнения деталей.
У встроенного скрапинга ChatGPT нет возможности подключения сторонних прокси. Они если и есть, то работают внутри собственного поискового слоя OpenAI.
Возможность подключения прокси для LLM возникает только в ситуации с собственными пайплайнами – с задействованием API или ИИ-агентов. Здесь прокси решают массу проблем:
По теме: Все звенья цепи: прокси, скраперы и пайплайны в обработке данных.
Подавайте в ChatGPT чистые данные: обходите Cloudflare и лимиты по запросам, пока ваш скрапер собирает страницы.
Как и было указано выше, прокси для LLM подключаются исключительно при задействовании ChatGPT в роли одного из модулей в цепочке работы с данными. Чтобы принцип стал понятнее, приведём пару предметных примеров.
Первый – с использованием библиотеки requests (она не умеет рендерить JavaScript, поэтому подходит только для простых сайтов, которые отдают данные внутри HTML):
import json
import requests
from openai import OpenAI
OPENAI_API_KEY = "sk-..."
PROXY = "http://login:password@127.0.0.1:8080"
URL = "https://example-shop.com/catalog"
# Получаем HTML через прокси
response = requests.get(
URL,
proxies={
"http": PROXY,
"https": PROXY,
},
timeout=30,
)
html = response.text
client = OpenAI(api_key=OPENAI_API_KEY)
prompt = f"""
Из HTML-кода извлеки все товары и цены.
Верни только JSON-массив вида:
[
]
HTML:
{html[:150000]}
"""
result = client.responses.create(
model="gpt-5.5",
input=prompt
)
print(result.output_text)
Второй – для динамических страниц, с задействованием headless-браузера через веб-драйвер Playwright:
import asyncio
from playwright.async_api import async_playwright
from openai import OpenAI
OPENAI_API_KEY = "sk-..."
client = OpenAI(api_key=OPENAI_API_KEY)
URL = "https://example-shop.com/catalog"
PROXY_SERVER = "http://127.0.0.1:8080"
PROXY_USER = "login"
PROXY_PASSWORD = "password"
async def get_html():
async with async_playwright() as p:
browser = await p.chromium.launch(
headless=True,
proxy={
"server": PROXY_SERVER,
"username": PROXY_USER,
"password": PROXY_PASSWORD
}
)
page = await browser.new_page()
await page.goto(
URL,
wait_until="networkidle",
timeout=60000
)
html = await page.content()
await browser.close()
return html
async def main():
html = await get_html()
prompt = f"""
Из HTML-кода интернет-магазина извлеки товары и цены.
Верни только JSON.
Формат:
[
]
HTML:
{html[:150000]}
"""
response = client.responses.create(
model="gpt-5.5",
input=prompt
)
print(response.output_text)
asyncio.run(main())
Обратите внимание! Так как исходный код страниц передаётся в примерах в неизменном виде, без очистки, запросы будут потреблять очень много токенов ChatGPT. Если вы хотите снизить стоимость обработки, то следует предварительно удалить из кода все ненужные элементы.
Любой парсинг должен подчиняться правилам морали и этики. Он не должен нарушать законов и обязан соблюдать требования целевого сайта. Например, скрипт не должен обходить страницы, которые запрещены в файле robots.txt. Он не должен создавать сильную нагрузку на хостинг, которая может привести к отказу в обслуживании для других пользователей и т.п.
В большинстве случаев проблемы с законом начинаются не в тот момент, когда вы парсите чей-то сайт, а когда неправильно работаете с полученными данными. Например, во многих странах запрещено хранить персональные данные без согласия их владельцев, нельзя присваивать себе чужой интеллектуальный труд – тексты, изображения, видео и т.п.
Не стоит забывать и об ограничениях самого ChatGPT – мы показали их выше. LLM не воспроизводит страницы целиком, ИИ их только саммаризирует или «описывает».
Материал по теме: Как сделать ваш скрипт веб-парсинга легальным в 2026.
Да, в режиме «Поиск в сети». Но стоит помнить ограничения, которые мы обозначили в тексте: ИИ сам решает стоит посещать указанный URL или нет. Никаких гарантий по обязательному посещению страницы нет. В любом случае, ChatGPT опирается на возможности своего поискового слоя, который работает независимо от LLM – как самостоятельный сервис, в «чёрной коробке». Что он умеет, знают только его разработчики.
Наиболее вероятные причины: страница или сайт защищены паролем, доступ к сайту блокируется веб-файрволлом или системами защиты от ботов, сайт недоступен для региона или IP-адресов, с которых работает поисковой слой ChatGPT, страница или сайт временно недоступны (не работают в момент обращения поискового бота OpenAI), на странице слишком много JavaScript (поисковой слой не может сформировать/рассчитать конечные данные).
При работе в чате или по официальному API – нет. Прокси можно подключить только при построении своего парсера или при создании пайплайна с ИИ-агентами. В этом случае ChatGPT будет работать в роли одного из агентов цепочки. Технически прокси будут привязываться к инструменту парсинга. ChatGPT же будет получать только те данные, которые нужно проанализировать.
Выход только один – обойти защиту с помощью сторонних инструментов. Например, можно выстроить цепочку из прокси-серверов и модуля парсинга, которая будет обращаться к сайту, копировать исходный HTML-код страницы и передавать её на анализ в ChatGPT.
Читайте также: Как выбрать ИИ для анализа данных: BI, AutoML или LLM.