← Browser Run / browser-run / quick-actions
/markdown - Extrakce Markdownu ze stránky
/markdown endpoint načte obsah webové stránky a převede jej do formátu Markdown. Můžete zadat adresu URL a volitelné parametry pro upřesnění procesu extrakce.
Tento koncový bod můžete použít dvěma způsoby:
- REST API: Vytvořte vlastní API Token hodnotou
Browser Rendering - Editoprávnění. - Workers Bindings: Volejte endpoint přímo z Cloudflare Worker pomocí Workers Bindings. Není potřeba žádný API token.
Další informace najdete v tématu Quick Actions: Než začnete.
Endpoint
https://api.cloudflare.com/client/v4/accounts/<accountId>/browser-rendering/markdownPovinná pole
Musíte zadat buď url nebo html:
url(řetězec)html(řetězec)
Běžné případy použití
- Normalizovat obsah pro navazující zpracování (souhrny, diffy, embeddingy)
- Ukládejte články nebo dokumenty pro pozdější úpravy nebo archivaci
- Odstranit styly a skripty a zachovat čitelný obsah a odkazy
Základní použití
Převeďte adresu URL do Markdownu
Tento příklad načte reprezentaci webové stránky ve formátu Markdown.
curl -X 'POST' 'https://api.cloudflare.com/client/v4/accounts/<accountId>/browser-rendering/markdown' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer <apiToken>' \
-d '{
"url": "https://example.com"
}'{
"success": true,
"result": "# Example Domain\n\nThis domain is for use in illustrative examples in documents. You may use this domain in literature without prior coordination or asking for permission.\n\n[More information...](https://www.iana.org/domains/example)"
}import Cloudflare from "cloudflare";
const client = new Cloudflare({
apiToken: process.env["CLOUDFLARE_API_TOKEN"],
});
const markdown = await client.browserRendering.markdown.create({
account_id: process.env["CLOUDFLARE_ACCOUNT_ID"],
url: "https://developers.cloudflare.com/",
});
console.log(markdown);interface Env {
BROWSER: BrowserRun;
}
export default {
async fetch(request, env): Promise<Response> {
return await env.BROWSER.quickAction("markdown", {
url: "https://example.com",
});
},
} satisfies ExportedHandler<Env>;Převeďte nezpracované HTML do Markdownu
Místo načítání obsahu podle URL můžete zadat přímo nezpracovaný HTML obsah.
curl -X 'POST' 'https://api.cloudflare.com/client/v4/accounts/<accountId>/browser-rendering/markdown' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer <apiToken>' \
-d '{
"html": "<div>Hello World</div>"
}'{
"success": true,
"result": "Hello World"
}Pokročilé použití
Vyloučení nežádoucích požadavků (například CSS)
Extrakci Markdown můžete upřesnit pomocí rejectRequestPattern parametr. V tomto příkladu jsou vyloučeny požadavky odpovídající zadanému regulárnímu výrazu (například soubory CSS).
curl -X 'POST' 'https://api.cloudflare.com/client/v4/accounts/<accountId>/browser-rendering/markdown' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer <apiToken>' \
-d '{
"url": "https://example.com",
"rejectRequestPattern": ["/^.*\\.(css)/"]
}'{
"success": true,
"result": "# Example Domain\n\nThis domain is for use in illustrative examples in documents. You may use this domain in literature without prior coordination or asking for permission.\n\n[More information...](https://www.iana.org/domains/example)"
}Práce se stránkami náročnými na JavaScript
U stránek s velkým množstvím JavaScriptu nebo jednostránkových aplikací (SPA) může výchozí chování při načítání stránky vracet prázdné nebo neúplné výsledky. Je to dáno tím, že prohlížeč považuje stránku za načtenou dříve, než JavaScript dokončí vykreslení obsahu.
Nejjednodušším řešením je použít gotoOptions.waitUntil parametr nastavený na networkidle0 nebo networkidle2:
{
"url": "https://example.com",
"gotoOptions": {
"waitUntil": "networkidle0"
}
}Pro rychlejší odezvu mohou pokročilí uživatelé použít waitForSelector k čekání na konkrétní prvek namísto čekání na zastavení veškeré síťové aktivity. To vyžaduje znalost, který CSS selektor signalizuje, že se požadovaný obsah načetl. Další podrobnosti najdete v Časové limity Quick Actions.
Nastavení vlastního user-agenta
User agent můžete změnit na úrovni stránky předáním userAgent jako parametr nejvyšší úrovně v těle JSON. To je užitečné, pokud cílový web zobrazuje různý obsah podle uživatelského agenta.
Řešení potíží
Pokud máte dotazy nebo narazíte na chybu, podívejte se na Časté dotazy a průvodce řešením problémů Browser Run.
Další funkce převodu do Markdownu
- Workers AI AI.toMarkdown() podporuje více typů dokumentů a sumarizaci.
- Markdown for Agents umožňuje konverzi dokumentů v reálném čase pro zóny Cloudflare pomocí hlaviček pro vyjednávání obsahu.