คำตอบสั้น
ฉันจะแปลงหน้าเว็บเป็น Markdown สำหรับ LLM ได้อย่างไร?
ดึงหน้าเว็บมา เก็บเฉพาะเนื้อหาหลัก แล้วแปลงหัวข้อ รายการ ตาราง และลิงก์เป็น Markdown และจำกัดความยาวให้อยู่ในงบประมาณของโมเดลคุณ คุณทำได้ด้วยมือ ด้วยไลบรารีโอเพนซอร์ส หรือด้วยการเรียก API ครั้งเดียว: WebReaderAPI คืนค่า Markdown และ metadata ในราคาหนึ่งเครดิตต่อหน้า เริ่มต้นที่ US$0.07/1K หน้า ณ ตุลาคม 2026 ไม่ต้อง KYC จ่ายด้วยคริปโต
สามวิธีในการรับ Markdown จากหน้าเว็บ
| ด้วยมือ | คัดลอกข้อความจากเบราว์เซอร์หรือ reader view เหมาะกับการใช้งานไม่กี่หน้า |
|---|---|
| ไลบรารีโอเพนซอร์ส | Readability, Trafilatura, MarkItDown หรือ Crawl4AI ภายใน fetcher ของคุณเอง |
| API เว็บรีดเดอร์ | GET https://webreaderapi.com/api/v1/read?url=… คืนค่า Markdown, ชื่อเรื่อง, ผู้เขียน และวันที่ |
| การควบคุมความยาว | max_chars บน WebReaderAPI หรือตัดข้อความเองหลังการแปลง |
| หน้าเว็บที่ใช้ JavaScript | ต้องใช้เบราว์เซอร์แบบ headless; WebReaderAPI เรนเดอร์เมื่อจำเป็น สำหรับ 2 เครดิต |
ควรใช้วิธีไหน?
เลือกตามปริมาณและตามปริมาณโครงสร้างพื้นฐานที่คุณต้องการดูแล
| วิธี | เหมาะกับ | คุณต้องจัดการ |
|---|---|---|
| คัดลอกและวาง | หน้าเว็บจำนวนไม่มาก, พร้อมท์ครั้งเดียว | ทำความสะอาดด้วยมือ |
| ไลบรารีในโค้ดของคุณ | ปริมาณคงที่, ควบคุมได้เต็มที่ | การดึงข้อมูล, เบราว์เซอร์, robots.txt, PDF, การลองใหม่ |
| Web Reader API | เอเจนต์และไปป์ไลน์ที่อ่านหลายเว็บไซต์ | เพียงคำขอและผลลัพธ์ |
ไลบรารีให้การควบคุมและไม่มีค่าธรรมเนียมต่อหน้า ต้นทุนคือการดำเนินงาน: เบราว์เซอร์แบบ headless สำหรับหน้าเว็บ JavaScript, การตรวจสอบ robots.txt, การจัดการชุดอักขระและการเปลี่ยนเส้นทาง, และเส้นทางแยกสำหรับ PDF API รวบทั้งหมดไว้ในการเรียก HTTP ครั้งเดียว
Markdown ที่ดีต้องเก็บอะไรไว้ และทิ้งอะไร?
Markdown ที่ดีจะเก็บทุกองค์ประกอบที่มีความหมายและทิ้งทุกอย่างที่มีอยู่เพียงเพื่อการจัดวางหรือการตลาด
- เก็บหัวข้อ เป็น
#,##และ###: บอกโมเดลและ chunker ของคุณว่าแต่ละหัวข้อเริ่มต้นที่ไหน - เก็บรายการและตาราง เป็นรายการ Markdown และตารางแบบ pipe เพื่อให้ขั้นตอนและตัวเลขอ่านได้
- เก็บลิงก์ เป็น
[text](url): ช่วยให้ผู้ช่วยอ้างอิงและติดตามแหล่งที่มา - เก็บบล็อกโค้ด ใน fencing พร้อมภาษาถ้าหน้าเว็บแสดง
- ทิ้งเมนู, ประกาศคุกกี้, โฆษณา, วิดเจ็ตโพสต์ที่เกี่ยวข้อง และส่วนท้าย: สิ่งเหล่านี้ซ้ำในทุกหน้าและปนเปื้อนการดึงข้อมูล
ตรวจสอบผลลัพธ์กับหน้าเว็บจริงของคุณสักสองสามหน้า เครื่องมือสกัดข้อมูล disagreement มากที่สุดในฟอรัม ตารางยาว และหน้าที่มีหลายบทความ
Markdown เล็กกว่า HTML แค่ไหน?
โดยปกติเล็กกว่ามาก เพราะเฟอร์นิเจอร์หน้าเว็บและมาร์กอัปหายไป เมื่อ Cloudflare เปิดตัวฟีเจอร์ Markdown for Agents เมื่อวันที่ 12 กุมภาพันธ์ 2026 หน้าตัวอย่างของมันลดจาก 16,180 โทเค็นเป็น HTML เหลือ 3,150 โทเค็นเป็น Markdown ประมาณ 80% น้อยลง
อัตราส่วนของคุณเองขึ้นอยู่กับไซต์ บทความยาวลดน้อยลงเป็นเปอร์เซ็นต์เมื่อเทียบกับหน้าสั้นที่ห่อด้วยเทมเพลตหนักๆ วัดจากแหล่งของคุณก่อนกำหนดงบประมาณ
ฉันจะรักษาหน้าเว็บให้อยู่ในงบโทเค็นของโมเดลได้อย่างไร?
จำกัดข้อความก่อนถึงโมเดล แล้วแบ่งส่วนที่เหลือตามหัวข้อ ด้วย WebReaderAPI พารามิเตอร์ max_chars ตัด Markdown ตามความยาวที่กำหนด ระหว่าง 1,000 ถึง 500,000 อักขระ ฟิลด์ word_count บอกคุณว่าบทความเต็มยาวเท่าไร เพื่อให้เอเจนต์ตัดสินใจได้ว่าการอ่านส่วนที่เหลือคุ้มค่าหรือไม่
สำหรับการดึงข้อมูล ให้แบ่งตามหัวข้อก่อนแล้วจึงตัดส่วนที่ยาว ชิ้นส่วนที่เริ่มต้นด้วยหัวข้อของตัวเองจะรักษาหัวข้อไว้; ชิ้นส่วนที่ตัดกลางประโยคจากหน้าที่ยาวจะไม่
import os
import re
import requests
API = "https://webreaderapi.com/api/v1/read"
HEADERS = {"Authorization": "Bearer " + os.environ["WEBREADER_API_KEY"]}
def page_to_chunks(url, max_chars=60000, chunk_len=1500):
params = {"url": url, "format": "markdown", "max_chars": max_chars}
resp = requests.get(API, headers=HEADERS, params=params, timeout=90)
data = resp.json()
if resp.status_code != 200:
print("not read:", data["error"]["code"])
return []
chunks = []
for section in re.split(r"\n(?=#{1,3} )", data["markdown"]):
section = section.strip()
while section:
chunks.append(section[:chunk_len])
section = section[chunk_len:]
return [{"text": c, "source": data["final_url"], "title": data["title"]} for c in chunks]
if __name__ == "__main__":
for chunk in page_to_chunks("https://example.com/guides/compost")[:3]:
print(chunk["title"], "|", chunk["text"][:80])
มักเกิดอะไรผิดพลาด และฉันจะสังเกตได้อย่างไร?
ปัญหาสี่ข้อคิดเป็นส่วนใหญ่ของการแปลงที่ไม่ดี:
- ผลลัพธ์ว่างเปล่า หน้าเว็บสร้างเนื้อหาด้วย JavaScript มองหา
word_countที่ต่ำ; เรนเดอร์หน้าเว็บในเบราว์เซอร์ หรือตั้งค่าrender=true - ข้อความคุกกี้หรือความยินยอมในผลลัพธ์ ตัวสกัดเก็บแบนเนอร์ไว้ ให้ใช้การสกัดเนื้อหาหลักและตรวจสอบบรรทัดแรกของแต่ละผลลัพธ์
- ตารางหายไป บางไซต์วาดตารางเป็นรูปภาพหรือองค์ประกอบ canvas; ไม่มีตัวสกัดข้อความใดอ่านได้
- การปฏิเสธแทนที่จะเป็นหน้าเว็บ ไซต์ไม่อนุญาตใน robots.txt หรือปฏิเสธคำขอ เคารพมัน: ขออนุญาตเจ้าของ หรือใช้ API อย่างเป็นทางการหรือฟีดถ้าไซต์มี
ไม่มีข้อใดแก้ไขได้ด้วยการลองใหม่เร็วขึ้น อ่านข้อผิดพลาด แล้วเปลี่ยนวิธีการหรือแหล่งที่มา
เว็บไซต์เป็น Markdown: คำถามที่พบบ่อย
Markdown ดีกว่าข้อความธรรมดาสำหรับ LLM หรือไม่?
สำหรับหน้าเว็บส่วนใหญ่ ใช่ Markdown เก็บหัวข้อ รายการ ตาราง และลิงก์ไว้ด้วยต้นทุนโทเค็นต่ำ ทำให้โมเดลเห็นโครงสร้างและอ้างอิงแหล่งที่มาได้ ข้อความธรรมดาสั้นกว่าเล็กน้อยแต่สูญเสียโครงสร้างนั้น
ฉันสามารถแปลงทั้งเว็บไซต์ ไม่ใช่แค่หน้าเดียวได้หรือไม่?
ได้ รวบรวมและแปลงแต่ละหน้า crawl API ของ WebReaderAPI ทำทั้งสองอย่างในงานเดียว: crawl หนึ่งเว็บไซต์ต่อหนึ่งงาน สูงสุด 10,000 หน้า โดยทำตาม sitemap, robots.txt และ Crawl-delay ของเว็บนั้น
ฉันสามารถแปลง PDF ในลักษณะเดียวกันได้หรือไม่?
ได้ โดยส่ง URL ของ PDF ไปยัง endpoint เดียวกัน ไฟล์ PDF ขนาดไม่เกิน 20 MB และไม่เกิน 100 หน้า จะถูกแปลงเป็น Markdown ในอัตรา 1 เครดิตต่อทุก 10 หน้าที่เริ่มต้น
แล้วหน้าที่อยู่หลังการเข้าสู่ระบบล่ะ?
อย่าแปลงผ่านบริการบุคคลที่สามเว้นแต่จะเป็นของคุณเองและคุณส่งออกเอง WebReaderAPI อ่านเฉพาะหน้าเว็บสาธารณะและไม่เคยเข้าสู่ระบบบัญชี
มีวิธีฟรีในการทำสิ่งนี้หรือไม่?
ไลบรารีโอเพนซอร์สใช้ฟรีและรันบนเครื่องของคุณเอง WebReaderAPI ไม่มีระดับฟรี; แพ็กที่เล็กที่สุดคือ 10,000 หน้า สำหรับ US$3.75 จ่ายด้วยคริปโตโดยไม่ต้อง KYC
แหล่งที่มา (1)
- แนะนำ Markdown สำหรับเอเจนต์ — Cloudflare (2026-02-12)