Расширьте возможности своих приложений искусственного интеллекта, используя чистые данные с любого веб-сайта. Благодаря расширенным возможностям очистки, сканирования и извлечения данных.
Этот репозиторий находится в разработке, и мы все еще интегрируем пользовательские модули в монорепозиторий. Он еще не полностью готов к локальному развертыванию, но вы можете запустить его локально.
Firecrawl — это служба API, которая берет URL-адрес, сканирует его и преобразует в чистую уценку или структурированные данные. Мы сканируем все доступные подстраницы и предоставляем вам точные данные для каждой. Карта сайта не требуется. Ознакомьтесь с нашей документацией.
Тихоокеанское стандартное время. эй, ты, присоединяйся к нашим звездочетам :)
Мы предоставляем простой в использовании API с нашей размещенной версией. Игровую площадку и документацию можно найти здесь. Вы также можете самостоятельно разместить серверную часть, если хотите.
Чтобы начать, ознакомьтесь со следующими ресурсами:
API : Документация
SDK : Python, Node, Go, Rust.
LLM Frameworks : Langchain (python), Langchain (js), Llama Index, Crew.ai, Composio, PraisonAI, Superinterface, Vectorize.
Фреймворки Low-code : Dify, Langflow, Flowise AI, Cargo, Pipedream.
Другие : Zapier, Pabbly Connect.
Хотите SDK или интеграцию? Дайте нам знать, открыв вопрос.
Чтобы запустить локально, обратитесь к руководству здесь.
Чтобы использовать API, вам необходимо зарегистрироваться на Firecrawl и получить ключ API.
Очистка : очищает URL-адрес и получает его содержимое в формате, готовом к LLM (уценка, структурированные данные через LLM Extract, снимок экрана, html).
Сканирование : очищает все URL-адреса веб-страницы и возвращает контент в формате, готовом к LLM.
Карта : введите веб-сайт и получите все URL-адреса веб-сайта — очень быстро.
Форматы, готовые к LLM : уценка, структурированные данные, скриншот, HTML, ссылки, метаданные.
Сложные вещи : прокси, механизмы защиты от ботов, динамический контент (JS-рендеринг), синтаксический анализ вывода, оркестровка.
Настраиваемость : исключение тегов, сканирование за стенами аутентификации с настраиваемыми заголовками, максимальная глубина сканирования и т. д.
Парсинг медиафайлов : pdf, docx, изображения.
Надежность прежде всего : разработана для получения необходимых вам данных, независимо от того, насколько это сложно.
Действия : щелчок, прокрутка, ввод, ожидание и многое другое перед извлечением данных.
Пакетная обработка (новинка) : очистка тысяч URL-адресов одновременно с помощью новой асинхронной конечной точки.
Вы можете найти все возможности Firecrawl и способы их использования в нашей документации.
Используется для сканирования URL-адреса и всех доступных подстраниц. При этом отправляется задание сканирования и возвращается идентификатор задания для проверки статуса сканирования.
curl -X POST https://api.firecrawl.dev/v1/crawl -H 'Тип контента: приложение/json' -H 'Авторизация: носитель fc-YOUR_API_KEY' -d '{ "url": "https://docs.firecrawl.dev", "limit": 100, "scrapeOptions": { "formats": ["markdown", "html"] } }'
Возвращает идентификатор задания сканирования и URL-адрес для проверки статуса сканирования.
{ "успех": правда, "id": "123-456-789", "url": "https://api.firecrawl.dev/v1/crawl/123-456-789"}
Используется для проверки статуса задания сканирования и получения его результата.
curl -X ПОЛУЧИТЬ https://api.firecrawl.dev/v1/crawl/123-456-789 -H 'Тип контента: приложение/json' -H 'Авторизация: носитель YOUR_API_KEY'
{ "статус": "завершено", "всего": 36, "creditsUsed": 36, "expiresAt": "2024-00-00T00:00:00.000Z", "data": [ { "markdown": "[Домашняя страница Firecrawl Docs![световой логотип](https://mintlify.s3-us-west-1.amazonaws.com/firecrawl/logo/light.svg)!...", " html": "<!DOCTYPE html><html lang="en" class="js-focus-visible lg:[--scroll-mt:9.5rem]" data-js-focus-visible="">...", "metadata": {"title": "Создайте чат с веб-сайтом с помощью Groq Llama 3 | Firecrawl","language": "en"," sourceURL": "https://docs.firecrawl.dev/learn/rag-llama3","description": "Узнайте, как использовать Firecrawl, Groq Llama 3 и Langchain для создания чата с бот вашего сайта.","ogLocaleAlternate": [],"statusCode": 200 } } ] }
Используется для очистки URL-адреса и получения его содержимого в указанных форматах.
curl -X POST https://api.firecrawl.dev/v1/scrape -H 'Тип контента: приложение/json' -H 'Авторизация: носитель YOUR_API_KEY' -d '{ "url": "https://docs.firecrawl.dev", "formats": ["markdown", "html"] }'
Ответ:
{ "success": true, "data": {"markdown": "Первая неделя запуска уже здесь! [См. наш выпуск второго дня](https://www.firecrawl.dev/blog/launch-week-i-day -2-double-rate-limits)[? Получите 2 месяца бесплатно...","html": "<!DOCTYPE html><html lang="en" class="light" style="color-scheme: Light;"><body class="__variable_36bd41 __variable_d7dc5d font-inter ...","metadata": { "title": "Home - Firecrawl", "description": "Firecrawl сканирует и преобразует любой веб-сайт в чистую уценку." , "language": "en", "keywords": "Firecrawl,Markdown,Data,Mendable,Langchain", "robots": "follow, index", "ogTitle": "Firecrawl", "ogDescription": "Превратите любой веб-сайт в данные, готовые к LLM", "ogUrl": "https://www.firecrawl.dev/", "ogImage" : "https://www.firecrawl.dev/og.png?123", "ogLocaleAlternate": [], "ogSiteName": "Firecrawl", "sourceURL": "https://firecrawl.dev", "statusCode": 200} } }
Используется для сопоставления URL-адресов и получения URL-адресов веб-сайта. Это возвращает большинство ссылок, присутствующих на веб-сайте.
curl -X POST https://api.firecrawl.dev/v1/map -H 'Тип контента: приложение/json' -H 'Авторизация: носитель YOUR_API_KEY' -d '{ "url": "https://firecrawl.dev" }'
Ответ:
{ "статус": "успех", "ссылки": ["https://firecrawl.dev","https://www.firecrawl.dev/pricing","https://www.firecrawl.dev/blog ","https://www.firecrawl.dev/playground","https://www.firecrawl.dev/smart-crawl", ] }
Карта с параметром search
позволяет искать определенные URL-адреса внутри веб-сайта.
curl -X POST https://api.firecrawl.dev/v1/map -H 'Тип контента: приложение/json' -H 'Авторизация: носитель YOUR_API_KEY' -d '{ "url": "https://firecrawl.dev", "search": "docs" }'
Ответом будет упорядоченный список от наиболее релевантного к наименее релевантному.
{ "статус": "успех", "ссылки": ["https://docs.firecrawl.dev", "https://docs.firecrawl.dev/sdks/python","https://docs.firecrawl .dev/learn/rag-llama3", ] }
Используется для извлечения структурированных данных из очищенных страниц.
curl -X POST https://api.firecrawl.dev/v1/scrape -H 'Тип контента: приложение/json' -H 'Авторизация: носитель YOUR_API_KEY' -d '{ "url": "https://www.mendable.ai/", "formats": ["extract"], "extract": { "schema": { "type": "object", " Properties": { "company_mission": { "type": "string" }, "supports_sso": { "type": "boolean" }, "is_open_source": { "type": "boolean" }, "is_in_yc": { "type": "boolean" } }, "required": [ "company_mission", "supports_sso", "is_open_source", "is_in_yc" ] } } }'
{ "success": true, "data": {"content": "Raw Content","metadata": { "title": "Mendable", "description": "Mendable позволяет легко создавать приложения для чата с искусственным интеллектом. Захват , настройте, а затем разверните с помощью одной строки кода в любом месте. Предоставлено SideGuide", "robots": "follow, index", "ogTitle": "Mendable", "ogDescription": «Mendable позволяет легко создавать приложения для чата с искусственным интеллектом. Загружайте, настраивайте, а затем развертывайте с помощью одной строки кода в любом месте. Предоставлено SideGuide», «ogUrl»: «https://mendable.ai/», «ogImage ": "https://mendable.ai/mendable_new_og1.png", "ogLocaleAlternate": [], "ogSiteName": "Mendable", "sourceURL": "https://mendable.ai/"},"llm_extraction": { "company_mission": "Обучите безопасный ИИ на своих технических ресурсах, который будет отвечать на вопросы клиентов и сотрудников, чтобы вашей команде не приходилось этого делать", "supports_sso": правда, «is_open_source»: ложь, «is_in_yc»: правда} } }
Теперь вы можете извлечь данные без схемы, просто передав prompt
конечной точке. llm выбирает структуру данных.
curl -X POST https://api.firecrawl.dev/v1/scrape -H 'Тип контента: приложение/json' -H 'Авторизация: носитель YOUR_API_KEY' -d '{ "url": "https://docs.firecrawl.dev/", "formats": ["extract"], "extract": { "prompt": "Извлечь миссию компании со страницы." } }'
Firecrawl позволяет выполнять различные действия на веб-странице перед сканированием ее содержимого. Это особенно полезно для взаимодействия с динамическим контентом, навигации по страницам или доступа к контенту, требующему взаимодействия с пользователем.
Вот пример того, как использовать действия для перехода на google.com, поиска Firecrawl, нажатия на первый результат и создания снимка экрана.
curl -X POST https://api.firecrawl.dev/v1/scrape -H 'Тип контента: приложение/json' -H 'Авторизация: носитель YOUR_API_KEY' -d '{ "url": "google.com", "formats": ["markdown"], "actions": [ {"type": "wait", "milli Seconds": 2000}, {"type": "клик", "селектор": "textarea[title="Поиск"]"}, {"тип": "подождите", "миллисекунды": 2000}, {"тип": "запись", "текст": "firecrawl"}, {"type": "wait", "миллисекунды": 2000}, {"type": "press", "key": "ENTER"}, {"type": "wait", "миллисекунды" ": 3000}, {"type": "клик", "селектор": "h3"}, {"type": "wait", "миллисекунды": 3000}, {"type": "скриншот"} ] }'
Теперь вы можете парсить несколько URL-адресов одновременно. Это очень похоже на то, как работает конечная точка /crawl. Он отправляет задание пакетной очистки и возвращает идентификатор задания, чтобы проверить состояние пакетной очистки.
curl -X POST https://api.firecrawl.dev/v1/batch/scrape -H 'Тип контента: приложение/json' -H 'Авторизация: носитель YOUR_API_KEY' -d '{ "urls": ["https://docs.firecrawl.dev", "https://docs.firecrawl.dev/sdks/overview"], "formats" : ["markdown", "html" ] }'
Используется для поиска в Интернете, получения наиболее релевантных результатов, очистки каждой страницы и возврата уценки.
curl -X POST https://api.firecrawl.dev/v0/search -H 'Тип контента: приложение/json' -H 'Авторизация: носитель YOUR_API_KEY' -d '{ "query": "firecrawl", "pageOptions": { "fetchPageContent": true // false для API быстрого поиска } }'
{ "успех": правда, "данные": [ { "url": "https://mendable.ai", "markdown": "# Markdown Content", "provider": "web-scraper", "metadata": {"title": "Mendable | AI for CX и продажи","description": "ИИ для CX и продаж","language": null,"sourceURL": "https://www.mendable.ai/" } } ] }
pip install firecrawl-py
from firecrawl.firecrawl import FirecrawlAppapp = FirecrawlApp(api_key="fc-YOUR_API_KEY")# Очистка веб-сайта: Scrape_status = app.scrape_url( 'https://firecrawl.dev', params={'formats': ['markdown', 'html']} )print(scrape_status)# Сканирование веб-сайта:crawl_status = app.crawl_url( 'https://firecrawl.dev', params={'limit': 100, 'scrapeOptions': {'formats': ['markdown', 'html']} }, poll_interval=30)print(статус_сканирования)
С помощью извлечения LLM вы можете легко извлечь структурированные данные из любого URL-адреса. Мы поддерживаем pydantic схемы, чтобы вам было проще. Вот как его использовать:
from firecrawl.firecrawl import FirecrawlAppapp = FirecrawlApp(api_key="fc-YOUR_API_KEY")class ArticleSchema(BaseModel):title: strpoints: intby: strcommentsURL: strclass TopArticlesSchema(BaseModel):top: List[ArticleSchema] = Field(..., max_items=5,description="Топ-5 историй")data = app.scrape_url('https://news.ycombinator.com', {'formats': ['extract'],'extract': {'schema': TopArticlesSchema.model_json_schema() } })печать(данные["извлечь"])
Чтобы установить Firecrawl Node SDK, вы можете использовать npm:
npm установить @mendable/firecrawl-js
Получите ключ API от firecrawl.dev.
Задайте ключ API как переменную среды с именем FIRECRAWL_API_KEY
или передайте его в качестве параметра классу FirecrawlApp
.
import FirecrawlApp, { CrawlParams, CrawlStatusResponse } from '@mendable/firecrawl-js';const app = new FirecrawlApp({apiKey: "fc-YOUR_API_KEY"}); // Очистка веб-сайтаconst ScrapeResponse = await app.scrapeUrl('https: //firecrawl.dev', { форматы: ['markdown', 'html'],});if (scrapeResponse) { console.log(scrapeResponse)}// Сканировать веб-сайтconst crawlResponse = await app.crawlUrl('https://firecrawl.dev', { лимит: 100, ScrapeOptions: {форматы: ['markdown', 'html'], }} удовлетворяет CrawlParams, true, 30) удовлетворяет CrawlStatusResponse;if (crawlResponse) { console.log(crawlResponse)}
С помощью извлечения LLM вы можете легко извлечь структурированные данные из любого URL-адреса. Мы поддерживаем схему zod, чтобы вам было проще. Вот как его использовать:
импортировать FirecrawlApp из "@mendable/firecrawl-js";импортировать { z } из "zod";const app = new FirecrawlApp({ apiKey: "fc-YOUR_API_KEY"}); // Определить схему для извлечения содержимого в const Schema = z.object({ верх: z.array( z.object({title: z.string(),points: z.number(),by: z.string(),commentsURL: z.string(), })).length(5 ).describe("5 главных новостей о хакерских новостях"),});const ScrapeResult = await app.scrapeUrl("https://news.ycombinator.com", { ExtractorOptions: { ExtractorSchema: Schema },});console.log(scrapeResult.data["llm_extraction"]);
Firecrawl имеет открытый исходный код и доступен по лицензии AGPL-3.0.
Чтобы предоставить наилучший продукт, мы предлагаем размещенную версию Firecrawl наряду с нашим предложением с открытым исходным кодом. Облачное решение позволяет нам постоянно внедрять инновации и поддерживать высококачественные и устойчивые услуги для всех пользователей.
Firecrawl Cloud доступен на firecrawl.dev и предлагает ряд функций, недоступных в версии с открытым исходным кодом:
Мы любим вклад! Пожалуйста, прочтите наше руководство по участию, прежде чем отправлять запрос на включение. Если вы хотите использовать самостоятельный хостинг, обратитесь к руководству по самостоятельному хостингу.
Конечные пользователи несут исключительную ответственность за соблюдение политик веб-сайтов при очистке, поиске и сканировании с помощью Firecrawl. Пользователям рекомендуется соблюдать применимую политику конфиденциальности и условия использования веб-сайтов, прежде чем приступать к каким-либо действиям по очистке данных. По умолчанию Firecrawl при сканировании учитывает директивы, указанные в файлах robots.txt веб-сайтов. Используя Firecrawl, вы прямо соглашаетесь соблюдать эти условия.
Этот проект в первую очередь лицензируется по лицензии GNU Affero General Public License v3.0 (AGPL-3.0), как указано в файле LICENSE в корневом каталоге этого репозитория. Однако некоторые компоненты этого проекта лицензируются по лицензии MIT. Подробную информацию см. в файлах ЛИЦЕНЗИИ в этих конкретных каталогах.
Пожалуйста, обрати внимание:
Лицензия AGPL-3.0 распространяется на все части проекта, если не указано иное.
SDK и некоторые компоненты пользовательского интерфейса лицензируются по лицензии MIT. Подробную информацию см. в файлах ЛИЦЕНЗИИ в этих конкретных каталогах.
При использовании этого проекта или участии в нем убедитесь, что вы соблюдаете соответствующие условия лицензии для конкретного компонента, с которым вы работаете.
Для получения более подробной информации о лицензировании конкретных компонентов обратитесь к файлам ЛИЦЕНЗИИ в соответствующих каталогах или свяжитесь с сопровождающими проекта.
↑ Наверх ↑