Skip to content

非公式本サイトは非公式の日本語ドキュメントであり、Cloudflare 公式サイトではありません。最新情報はdevelopers.cloudflare.comをご確認ください。

/links - ウェブページからリンクを取得する

最終更新 Markdown で表示Agent セットアップ

/links エンドポイントは、ウェブページからすべてのリンクを取得します。非表示のリンクも含めて、ページ上のリンクを抽出できます。

このエンドポイントは、次の 2 通りの方法で使えます。

詳細は Quick Actions: 始める前に を参照してください。

エンドポイント

https://api.cloudflare.com/client/v4/accounts/<accountId>/browser-rendering/links

必須フィールド

url または html のいずれかを指定してください。

  • url (string)
  • html (string)

よくある用途

  • UX や SEO の分析向けに、ユーザーに見えるリンクだけを集める
  • シードページ上のリンクをたどってサイトをクロールする
  • ナビゲーションやフッターを検証し、壊れたリンクや外部リンクを検出する

基本的な使い方

ページ上のすべてのリンクを取得する

この例は、Cloudflare ドキュメントのホームページ からすべてのリンクを取得します。 応答は、ページで見つかったリンクを含む JSON 配列です。

curl -X POST 'https://api.cloudflare.com/client/v4/accounts/<accountId>/browser-rendering/links' \
  -H 'Authorization: Bearer <apiToken>' \
  -H 'Content-Type: application/json' \
  -d '{
    "url": "https://developers.cloudflare.com/"
  }'
{
	"success": true,
	"result": [
		"https://developers.cloudflare.com/",
		"https://developers.cloudflare.com/products/",
		"https://developers.cloudflare.com/api/",
		"https://developers.cloudflare.com/fundamentals/api/reference/sdks/",
		"https://dash.cloudflare.com/",
		"https://developers.cloudflare.com/fundamentals/subscriptions-and-billing/",
		"https://developers.cloudflare.com/api/",
		"https://developers.cloudflare.com/changelog/",
		"https://developers.cloudflare.com/glossary/",
		"https://developers.cloudflare.com/reference-architecture/",
		"https://developers.cloudflare.com/web-analytics/",
		"https://developers.cloudflare.com/support/troubleshooting/http-status-codes/",
		"https://developers.cloudflare.com/registrar/",
		"https://developers.cloudflare.com/1.1.1.1/setup/",
		"https://developers.cloudflare.com/workers/",
		"https://developers.cloudflare.com/pages/",
		"https://developers.cloudflare.com/r2/",
		"https://developers.cloudflare.com/images/",
		"https://developers.cloudflare.com/stream/",
		"https://developers.cloudflare.com/products/?product-group=Developer+platform",
		"https://developers.cloudflare.com/workers-ai/tutorials/build-a-retrieval-augmented-generation-ai/",
		"https://developers.cloudflare.com/workers-ai/",
		"https://developers.cloudflare.com/vectorize/",
		"https://developers.cloudflare.com/ai-gateway/",
		"https://playground.ai.cloudflare.com/",
		"https://developers.cloudflare.com/products/?product-group=AI",
		"https://developers.cloudflare.com/cloudflare-one/access-controls/policies/",
		"https://developers.cloudflare.com/cloudflare-one/networks/connectors/cloudflare-tunnel/",
		"https://developers.cloudflare.com/cloudflare-one/traffic-policies/",
		"https://developers.cloudflare.com/cloudflare-one/remote-browser-isolation/",
		"https://developers.cloudflare.com/learning-paths/replace-vpn/concepts/",
		"https://developers.cloudflare.com/products/?product-group=Cloudflare+One",
		"https://workers.cloudflare.com/playground#LYVwNgLglgDghgJwgegGYHsHALQBM4RwDcABAEbogB2+CAngLzbPYZb6HbW5QDGU2AAwAmAIyiAzMIAsATlmi5ALhYs2wDnC40+AkeKlyFcgLAAoAMLoqEAKY3sAESgBnGOhdRo1pSXV4CYhIqOGBbBgAiKBpbAA8AOgArFwjSVCgwe1DwqJiE5IjzKxt7CGwAFToYW184GBgwPgIoa2REuAA3OBdeBFgIAGpgdFxwW3NzOPckElxbVDhwCBIAbzMSEm66Kl4-WwheAAsACgRbAEcQWxcIAEpV9Y2SXmsbkkOIYDASBhIAAwAPABCRwAeQs5QAmgAFACi70+YAAfI8NgCKLg6Cink8AYdREiABK2MBgdAkADqmDAuAByHx2JxJABMCR5UOrhIwEQAGsQDASAB3bokADm9lsCAItlw5DomxIFjJIFwqDAiFslMwPMl8TprNRzOQGKxfyIZkNZwgIAQVGCtkFJAAStd3FQXLZjh8vgAaB5M962OBzBAuXxrAMbCIvEoOCBVWwRXwROyxFDesBEI6ID0QBgAVXKADFsAAOCI+w0bAC+lZx1du5prlerRHMqmY6k02h4-CEYkkMnkilkRWsdgczjcHi8LSovn8mlIITCkTChE0qT8GSyq4iZDJZEKlnHpQqCdq9UavGarWS1gmZhWEW50QA+sNRpkk7k5vkUtW7Ydl2gQ9ro-YGEOxiyMwQA",
		"https://workers.cloudflare.com/playground#LYVwNgLglgDghgJwgegGYHsHALQBM4RwDcABAEbogB2+CAngLzbPYZb6HbW5QDGU2AAwB2AMwAWAKyCAjMICc8meIBcLFm2Ac4XGnwEiJ0uYuUBYAFABhdFQgBTO9gAiUAM4x0bqNFsqSmngExCRUcMD2DABEUDT2AB4AdABWblGkqFBgjuGRMXFJqVGWNnaOENgAKnQw9v5wMDBgfARQtsjJcABucG68CLAQANTA6Ljg9paWCZ5IJLj2qHDgECQA3hYkJL10VLwB9hC8ABYAFAj2AI4g9m4QAJTrm1skvLZ388EkDE8vL8f2MBgdD+KIAd0wYFwUQANM8tgBfIgWeEkC4QEAIKgkABKt08VDc9hSblsp2092RiLhSMs6mYmm0uh4-CEYiksgUSnEJVsDicrg8Xh8bSo-kC2lIYQi0QihG06QCWRyMqiZGBZGK1j55SqNTq20azV4rXaqVsUwsayiwDgsQA+qNxtkoip8gtCmkEXT6Yzgsz9GyjJzTOJmEA",
		"https://workers.cloudflare.com/playground#LYVwNgLglgDghgJwgegGYHsHALQBM4RwDcABAEbogB2+CAngLzbPYZb6HbW5QDGU2AAwBWABwBGAOyjRANgDMAFgCcygFwsWbYBzhcafASInS5S1QFgAUAGF0VCAFMH2ACJQAzjHQeo0e2ok2ngExCRUcMCODABEUDSOAB4AdABWHjGkqFBgzpHRcQkp6THWdg7OENgAKnQwjoFwMDBgfARQ9sipcABucB68CLAQANTA6LjgjtbWSd5IJLiOqHDgECQA3lYkJP10VLxBjhC8ABYAFAiOAI4gjh4QAJSb2zskyABUH69vHyQASo4WnBeI4SAADK7jJzgkgAdz8pxIEFOYNOPnWdEo8M8SIg6BIHmcuBIV1u9wgHmR6B+Ow+yFpvHsD1JjmhYIYJBipwgEBgHjUyGQSUiLUcySZwEyVlpVwgIAQVF2cLgfiOJwuUPQTgANKzyQ9HkRXgBfHVWE1EayaZjaXT6Hj8IRiKQyBQqZRlexOFzuLw+PwdKiBYK6UgRKKxKKEXSZII5PKRmJkMDoMilWzeyo1OoNXbNVq8dqddL2GZWDYxYCqqgAfXGk1yMTUhSWxQyJutNrtoQdhmdJjd5mUzCAA",
		"https://workers.cloudflare.com/playground#LYVwNgLglgDghgJwgegGYHsHALQBM4RwDcABAEbogB2+CAngLzbPYZb6HbW5QDGU2AAwBmACyiAnBMFSAbIICMALhYs2wDnC40+AkeKkyJ8hQFgAUAGF0VCAFNb2ACJQAzjHSuo0G0pLq8AmISKjhgOwYAIigaOwAPADoAK1dI0lQoMAcwiOjYxJTIi2tbBwhsABU6GDs-OBgYMD4CKBtkJLgANzhXXgRYCABqYHRccDsLC3iPJBJcO1Q4cAgSAG9zEhIeuipefzsIXgALAAoEOwBHEDtXCABKNY3Nkl4bW7mb6FCfKgBVACUADIkBgkSJHCAQGCuJTIZDxMKNOwJV7ANJPTavKjvW4EECuazzEEkYSKIgYkjnCAgBBUEj-G4ebHI848c68CAnea3GItGwAwEAGhIuOpBNGdju5M2AF9BeYZUQLKpmOpNNoePwhGJJNI5IpijZ7I4XO5PN5WlQ-AFNKRQuEouFCJo0v5MtkHZEyGB0GQilYjWVKtValsGk1eHyqO1XDZJuZVpFgHAYgB9EZjLKRJR5eYFVIy5UqtVBDW6bUGPXGRTMIA",
		"https://workers.cloudflare.com/playground#LYVwNgLglgDghgJwgegGYHsHALQBM4RwDcABAEbogB2+CAngLzbPYZb6HbW5QDGU2AAwAOAJwBmAIyiATKMkB2AKwyAXCxZtgHOFxp8BIidLmKVAWABQAYXRUIAU3vYAIlADOMdO6jQ7qki08AmISKjhgBwYAIigaBwAPADoAK3do0lQoMCcIqNj45LToq1t7JwhsABU6GAcAuBgYMD4CKDtkFLgANzh3XgRYCABqYHRccAcrK0SvJBJcB1Q4cAgSAG9LEhI+uipeQIcIXgALAAoEBwBHEAd3CABKDa3tnfc9g9RqXj8qEgBZI4ncYAOXQEAAgmAwOgAO4OXAXa63e5PTavV6XCAgBB-KgOWEkABKdy8VHcDjOAANARBgbgSAASdaXG53CBJSJ08YAXzC4J20LhCKSVIANM8MRj7gQQO4AgAWQRKMUvKUkE4OOCLBDyyXq15QmGwgLRADiAFEqtFVQaSDzbVKeQ8iGr7W7kMgSAB5KhgOgkS1VEislEQdwkWGYADWkd8JxIdI8JBgCHQCToSTdUFQJCRbPunKB4xIAEIGAwSOardEnlicX9afSwZChfDEaH2S63fXcYdjucqScIBAYPLPYkIs0HEleOhgFTu9sHZYeUQrBpmFodHoePwhGIpLJ5MoZKU7I5nG5PN5fO0qAEgjpSOFIjEudqQhlAtlcm-omQMJkCUNgXhU1S1PUOxNC0vBtB0aR2NMljrNEwBwHEAD6YwTDk0SqAUixFOkPIbpu24hLuBgHsYx5mDIzBAA",
		"https://developers.cloudflare.com/cloudflare-one/team-and-resources/devices/cloudflare-one-client/",
		"https://developers.cloudflare.com/ssl/origin-configuration/origin-ca/",
		"https://developers.cloudflare.com/dns/zone-setups/full-setup/setup/",
		"https://developers.cloudflare.com/ssl/origin-configuration/ssl-modes/",
		"https://developers.cloudflare.com/waf/custom-rules/use-cases/allow-traffic-from-specific-countries/",
		"https://discord.cloudflare.com/",
		"https://x.com/CloudflareDev",
		"https://community.cloudflare.com/",
		"https://github.com/cloudflare",
		"https://developers.cloudflare.com/sponsorships/",
		"https://developers.cloudflare.com/style-guide/",
		"https://blog.cloudflare.com/",
		"https://developers.cloudflare.com/fundamentals/",
		"https://support.cloudflare.com/",
		"https://www.cloudflarestatus.com/",
		"https://www.cloudflare.com/trust-hub/compliance-resources/",
		"https://www.cloudflare.com/trust-hub/gdpr/",
		"https://www.cloudflare.com/",
		"https://www.cloudflare.com/people/",
		"https://www.cloudflare.com/careers/",
		"https://radar.cloudflare.com/",
		"https://speed.cloudflare.com/",
		"https://isbgpsafeyet.com/",
		"https://rpki.cloudflare.com/",
		"https://ct.cloudflare.com/",
		"https://x.com/cloudflare",
		"https://discord.cloudflare.com/",
		"https://www.youtube.com/cloudflare",
		"https://github.com/cloudflare/cloudflare-docs",
		"https://www.cloudflare.com/privacypolicy/",
		"https://www.cloudflare.com/website-terms/",
		"https://www.cloudflare.com/disclosure/",
		"https://www.cloudflare.com/trademark/"
	]
}
import Cloudflare from "cloudflare";

const client = new Cloudflare({
	apiToken: process.env["CLOUDFLARE_API_TOKEN"],
});

const links = await client.browserRendering.links.create({
	account_id: process.env["CLOUDFLARE_ACCOUNT_ID"],
	url: "https://developers.cloudflare.com/",
});

console.log(links);
interface Env {
	BROWSER: BrowserRun;
}

export default {
	async fetch(request, env): Promise<Response> {
		return await env.BROWSER.quickAction("links", {
			url: "https://developers.cloudflare.com/",
		});
	},
} satisfies ExportedHandler<Env>;

高度な使い方

表示されているリンクだけを取得する

ページ上で表示されているリンクだけを返すには、visibleLinksOnly パラメーターを true にします。デフォルトは false です。

curl -X POST 'https://api.cloudflare.com/client/v4/accounts/<accountId>/browser-rendering/links' \
  -H 'Authorization: Bearer <apiToken>' \
  -H 'Content-Type: application/json' \
  -d '{
    "url": "https://developers.cloudflare.com/",
    "visibleLinksOnly": true
  }'
{
	"success": true,
	"result": [
		"https://developers.cloudflare.com/",
		"https://developers.cloudflare.com/products/",
		"https://developers.cloudflare.com/api/",
		"https://developers.cloudflare.com/fundamentals/api/reference/sdks/",
		"https://dash.cloudflare.com/",
		"https://developers.cloudflare.com/fundamentals/subscriptions-and-billing/",
		"https://developers.cloudflare.com/api/",
		"https://developers.cloudflare.com/changelog/",
		"https://developers.cloudflare.com/glossary/",
		"https://developers.cloudflare.com/reference-architecture/",
		"https://developers.cloudflare.com/web-analytics/",
		"https://developers.cloudflare.com/support/troubleshooting/http-status-codes/",
		"https://developers.cloudflare.com/registrar/",
		"https://developers.cloudflare.com/1.1.1.1/setup/",
		"https://developers.cloudflare.com/workers/",
		"https://developers.cloudflare.com/pages/",
		"https://developers.cloudflare.com/r2/",
		"https://developers.cloudflare.com/images/",
		"https://developers.cloudflare.com/stream/",
		"https://developers.cloudflare.com/products/?product-group=Developer+platform",
		"https://developers.cloudflare.com/workers-ai/tutorials/build-a-retrieval-augmented-generation-ai/",
		"https://developers.cloudflare.com/workers-ai/",
		"https://developers.cloudflare.com/vectorize/",
		"https://developers.cloudflare.com/ai-gateway/",
		"https://playground.ai.cloudflare.com/",
		"https://developers.cloudflare.com/products/?product-group=AI",
		"https://developers.cloudflare.com/cloudflare-one/access-controls/policies/",
		"https://developers.cloudflare.com/cloudflare-one/networks/connectors/cloudflare-tunnel/",
		"https://developers.cloudflare.com/cloudflare-one/traffic-policies/",
		"https://developers.cloudflare.com/cloudflare-one/remote-browser-isolation/",
		"https://developers.cloudflare.com/learning-paths/replace-vpn/concepts/",
		"https://developers.cloudflare.com/products/?product-group=Cloudflare+One",
		"https://workers.cloudflare.com/playground#LYVwNgLglgDghgJwgegGYHsHALQBM4RwDcABAEbogB2+CAngLzbPYZb6HbW5QDGU2AAwAmAIyiAzMIAsATlmi5ALhYs2wDnC40+AkeKlyFcgLAAoAMLoqEAKY3sAESgBnGOhdRo1pSXV4CYhIqOGBbBgAiKBpbAA8AOgArFwjSVCgwe1DwqJiE5IjzKxt7CGwAFToYW184GBgwPgIoa2REuAA3OBdeBFgIAGpgdFxwW3NzOPckElxbVDhwCBIAbzMSEm66Kl4-WwheAAsACgRbAEcQWxcIAEpV9Y2SXmsbkkOIYDASBhIAAwAPABCRwAeQs5QAmgAFACi70+YAAfI8NgCKLg6Cink8AYdREiABK2MBgdAkADqmDAuAByHx2JxJABMCR5UOrhIwEQAGsQDASAB3bokADm9lsCAItlw5DomxIFjJIFwqDAiFslMwPMl8TprNRzOQGKxfyIZkNZwgIAQVGCtkFJAAStd3FQXLZjh8vgAaB5M962OBzBAuXxrAMbCIvEoOCBVWwRXwROyxFDesBEI6ID0QBgAVXKADFsAAOCI+w0bAC+lZx1du5prlerRHMqmY6k02h4-CEYkkMnkilkRWsdgczjcHi8LSovn8mlIITCkTChE0qT8GSyq4iZDJZEKlnHpQqCdq9UavGarWS1gmZhWEW50QA+sNRpkk7k5vkUtW7Ydl2gQ9ro-YGEOxiyMwQA",
		"https://workers.cloudflare.com/playground#LYVwNgLglgDghgJwgegGYHsHALQBM4RwDcABAEbogB2+CAngLzbPYZb6HbW5QDGU2AAwB2AMwAWAKyCAjMICc8meIBcLFm2Ac4XGnwEiJ0uYuUBYAFABhdFQgBTO9gAiUAM4x0bqNFsqSmngExCRUcMD2DABEUDT2AB4AdABWblGkqFBgjuGRMXFJqVGWNnaOENgAKnQw9v5wMDBgfARQtsjJcABucG68CLAQANTA6Ljg9paWCZ5IJLj2qHDgECQA3hYkJL10VLwB9hC8ABYAFAj2AI4g9m4QAJTrm1skvLZ388EkDE8vL8f2MBgdD+KIAd0wYFwUQANM8tgBfIgWeEkC4QEAIKgkABKt08VDc9hSblsp2092RiLhSMs6mYmm0uh4-CEYiksgUSnEJVsDicrg8Xh8bSo-kC2lIYQi0QihG06QCWRyMqiZGBZGK1j55SqNTq20azV4rXaqVsUwsayiwDgsQA+qNxtkoip8gtCmkEXT6Yzgsz9GyjJzTOJmEA",
		"https://workers.cloudflare.com/playground#LYVwNgLglgDghgJwgegGYHsHALQBM4RwDcABAEbogB2+CAngLzbPYZb6HbW5QDGU2AAwBWABwBGAOyjRANgDMAFgCcygFwsWbYBzhcafASInS5S1QFgAUAGF0VCAFMH2ACJQAzjHQeo0e2ok2ngExCRUcMCODABEUDSOAB4AdABWHjGkqFBgzpHRcQkp6THWdg7OENgAKnQwjoFwMDBgfARQ9sipcABucB68CLAQANTA6LjgjtbWSd5IJLiOqHDgECQA3lYkJP10VLxBjhC8ABYAFAiOAI4gjh4QAJSb2zskyABUH69vHyQASo4WnBeI4SAADK7jJzgkgAdz8pxIEFOYNOPnWdEo8M8SIg6BIHmcuBIV1u9wgHmR6B+Ow+yFpvHsD1JjmhYIYJBipwgEBgHjUyGQSUiLUcySZwEyVlpVwgIAQVF2cLgfiOJwuUPQTgANKzyQ9HkRXgBfHVWE1EayaZjaXT6Hj8IRiKQyBQqZRlexOFzuLw+PwdKiBYK6UgRKKxKKEXSZII5PKRmJkMDoMilWzeyo1OoNXbNVq8dqddL2GZWDYxYCqqgAfXGk1yMTUhSWxQyJutNrtoQdhmdJjd5mUzCAA",
		"https://workers.cloudflare.com/playground#LYVwNgLglgDghgJwgegGYHsHALQBM4RwDcABAEbogB2+CAngLzbPYZb6HbW5QDGU2AAwBmACyiAnBMFSAbIICMALhYs2wDnC40+AkeKkyJ8hQFgAUAGF0VCAFNb2ACJQAzjHSuo0G0pLq8AmISKjhgOwYAIigaOwAPADoAK1dI0lQoMAcwiOjYxJTIi2tbBwhsABU6GDs-OBgYMD4CKBtkJLgANzhXXgRYCABqYHRccDsLC3iPJBJcO1Q4cAgSAG9zEhIeuipefzsIXgALAAoEOwBHEDtXCABKNY3Nkl4bW7mb6FCfKgBVACUADIkBgkSJHCAQGCuJTIZDxMKNOwJV7ANJPTavKjvW4EECuazzEEkYSKIgYkjnCAgBBUEj-G4ebHI848c68CAnea3GItGwAwEAGhIuOpBNGdju5M2AF9BeYZUQLKpmOpNNoePwhGJJNI5IpijZ7I4XO5PN5WlQ-AFNKRQuEouFCJo0v5MtkHZEyGB0GQilYjWVKtValsGk1eHyqO1XDZJuZVpFgHAYgB9EZjLKRJR5eYFVIy5UqtVBDW6bUGPXGRTMIA",
		"https://workers.cloudflare.com/playground#LYVwNgLglgDghgJwgegGYHsHALQBM4RwDcABAEbogB2+CAngLzbPYZb6HbW5QDGU2AAwAOAJwBmAIyiATKMkB2AKwyAXCxZtgHOFxp8BIidLmKVAWABQAYXRUIAU3vYAIlADOMdO6jQ7qki08AmISKjhgBwYAIigaBwAPADoAK3do0lQoMCcIqNj45LToq1t7JwhsABU6GAcAuBgYMD4CKDtkFLgANzh3XgRYCABqYHRccAcrK0SvJBJcB1Q4cAgSAG9LEhI+uipeQIcIXgALAAoEBwBHEAd3CABKDa3tnfc9g9RqXj8qEgBZI4ncYAOXQEAAgmAwOgAO4OXAXa63e5PTavV6XCAgBB-KgOWEkABKdy8VHcDjOAANARBgbgSAASdaXG53CBJSJ08YAXzC4J20LhCKSVIANM8MRj7gQQO4AgAWQRKMUvKUkE4OOCLBDyyXq15QmGwgLRADiAFEqtFVQaSDzbVKeQ8iGr7W7kMgSAB5KhgOgkS1VEislEQdwkWGYADWkd8JxIdI8JBgCHQCToSTdUFQJCRbPunKB4xIAEIGAwSOardEnlicX9afSwZChfDEaH2S63fXcYdjucqScIBAYPLPYkIs0HEleOhgFTu9sHZYeUQrBpmFodHoePwhGIpLJ5MoZKU7I5nG5PN5fO0qAEgjpSOFIjEudqQhlAtlcm-omQMJkCUNgXhU1S1PUOxNC0vBtB0aR2NMljrNEwBwHEAD6YwTDk0SqAUixFOkPIbpu24hLuBgHsYx5mDIzBAA",
		"https://developers.cloudflare.com/cloudflare-one/team-and-resources/devices/cloudflare-one-client/",
		"https://developers.cloudflare.com/ssl/origin-configuration/origin-ca/",
		"https://developers.cloudflare.com/dns/zone-setups/full-setup/setup/",
		"https://developers.cloudflare.com/ssl/origin-configuration/ssl-modes/",
		"https://developers.cloudflare.com/waf/custom-rules/use-cases/allow-traffic-from-specific-countries/",
		"https://discord.cloudflare.com/",
		"https://x.com/CloudflareDev",
		"https://community.cloudflare.com/",
		"https://github.com/cloudflare",
		"https://developers.cloudflare.com/sponsorships/",
		"https://developers.cloudflare.com/style-guide/",
		"https://blog.cloudflare.com/",
		"https://developers.cloudflare.com/fundamentals/",
		"https://support.cloudflare.com/",
		"https://www.cloudflarestatus.com/",
		"https://www.cloudflare.com/trust-hub/compliance-resources/",
		"https://www.cloudflare.com/trust-hub/gdpr/",
		"https://www.cloudflare.com/",
		"https://www.cloudflare.com/people/",
		"https://www.cloudflare.com/careers/",
		"https://radar.cloudflare.com/",
		"https://speed.cloudflare.com/",
		"https://isbgpsafeyet.com/",
		"https://rpki.cloudflare.com/",
		"https://ct.cloudflare.com/",
		"https://x.com/cloudflare",
		"https://discord.cloudflare.com/",
		"https://www.youtube.com/cloudflare",
		"https://github.com/cloudflare/cloudflare-docs",
		"https://www.cloudflare.com/privacypolicy/",
		"https://www.cloudflare.com/website-terms/",
		"https://www.cloudflare.com/disclosure/",
		"https://www.cloudflare.com/trademark/"
	]
}

同一ドメインのリンクだけを取得する

外部ドメインを指すリンクを除くには、excludeExternalLinks パラメーターを true にします。デフォルトは false です。

curl -X POST 'https://api.cloudflare.com/client/v4/accounts/<accountId>/browser-rendering/links' \
  -H 'Authorization: Bearer <apiToken>' \
  -H 'Content-Type: application/json' \
  -d '{
    "url": "https://developers.cloudflare.com/",
    "excludeExternalLinks": true
  }'

JavaScript が多いページの扱い

JavaScript が多いページや Single Page Application(SPA)では、デフォルトのページ読み込み動作だと、空または不完全な結果が返ることがあります。ブラウザーが、JavaScript によるコンテンツ描画が終わる前にページ読み込み完了とみなすためです。

いちばん簡単な対処は、gotoOptions.waitUntil パラメータを networkidle0 または networkidle2 に設定することです。

{
	"url": "https://example.com",
	"gotoOptions": {
		"waitUntil": "networkidle0"
	}
}

より速い応答が必要な場合、上級者はネットワーク活動がすべて止まるのを待つのではなく、waitForSelector で特定の要素を待てます。必要なコンテンツが読み込まれたことを示す CSS セレクターを把握している必要があります。詳細は Quick Actions のタイムアウト を参照してください。

カスタム User-Agent を設定する

JSON 本文のトップレベルパラメーターとして userAgent を渡すと、ページ単位で User-Agent を変更できます。対象サイトが User-Agent に応じて別のコンテンツを返す場合に便利です。

トラブルシューティング

質問がある場合やエラーが発生した場合は、Browser Run の FAQ とトラブルシューティングガイド を参照してください。

役に立ちましたか?