# แปลงหน้าเว็บเป็น Markdown ด้วย curl และ jq

> แปลงหน้าเว็บเป็น Markdown จาก terminal ด้วย curl และ jq: บันทึกหน้า แสดงรายการลิงก์ รัน batch และตรวจสอบเครดิต จาก US$0.07/1K หน้า ไม่ต้อง KYC

- URL: https://webreaderapi.com/th/docs/curl/
- อัปเดตล่าสุด: 2026-10-22
- ผู้เผยแพร่: WebReaderAPI (https://webreaderapi.com)

ทุกสิ่งที่ API ทำได้อยู่ในคำสั่ง shell บรรทัดเดียว สูตรเหล่านี้ใช้ curl เรียก API และ jq ดึงฟิลด์ออกจาก JSON พร้อมเวอร์ชัน PowerShell สำหรับ Windows ไว้ท้ายสุด

**คำตอบสั้น — ฉันจะแปลงหน้าเว็บเป็น Markdown จาก command line ได้อย่างไร?**

รัน `curl -sG https://webreaderapi.com/api/v1/read --data-urlencode "url=…"` ด้วย key ของคุณใน header `Authorization: Bearer` แล้ว pipe คำตอบไปยัง `jq -r .markdown` **WebReaderAPI** คืนเนื้อหาหลักของหน้าเป็น Markdown พร้อม metadata หนึ่งหน้าธรรมดาใช้ 1 เครดิต จาก US$0.07/1K หน้า ณ ตุลาคม 2026 ไม่ต้อง KYC จ่ายด้วยคริปโต

## ฉันจะตั้งค่า terminal ได้อย่างไร?

ติดตั้ง curl และ jq ซึ่งระบบ Linux และ macOS ส่วนใหญ่มีอยู่แล้ว และ export คีย์ของคุณหนึ่งครั้งต่อ session ทุก recipe ด้านล่างอ่านคีย์จาก `$WEBREADER_API_KEY` ดังนั้นคีย์จะไม่ปรากฏใน shell history ของคุณเป็นส่วนหนึ่งของคำสั่ง

ใช้ `-G` กับ `--data-urlencode` สำหรับคำขอ GET: จากนั้น curl จะ encode ที่อยู่หน้าเว็บให้คุณ ซึ่งสำคัญเพราะที่อยู่มี `?`, `&` และ `=` ของตัวเอง

*ตั้งค่าคีย์และบันทึกหนึ่งหน้าเป็นไฟล์ .md*

```bash
export WEBREADER_API_KEY="your-key"

curl -sG "https://webreaderapi.com/api/v1/read" \
  -H "Authorization: Bearer $WEBREADER_API_KEY" \
  --data-urlencode "url=https://example.com/guides/compost" \
  | jq -r '.markdown' > compost.md
```

## ฉันจะดูได้อย่างไรว่าการเรียกคืนค่าอะไรและเสียเท่าไร?

ขอ metadata จาก jq แทนเนื้อหา `final_url` แสดงว่า redirect ไปที่ไหน `rendered` บอกคุณว่าใช้เบราว์เซอร์หรือไม่ และ `credits_used` คือค่าใช้จ่ายของการเรียก หากคำตอบเป็น error ตัวกรองเดียวกันจะพิมพ์ฟิลด์ `null`; พิมพ์ `.error` เพื่ออ่าน code และ message

*เฉพาะ metadata หรือ error หากมี*

```bash
curl -sG "https://webreaderapi.com/api/v1/read" \
  -H "Authorization: Bearer $WEBREADER_API_KEY" \
  --data-urlencode "url=https://example.com/guides/compost" \
  | jq '.error // {title, final_url, rendered, credits_used, word_count}'
```

## ฉันจะลิสต์ลิงก์ของหน้าเว็บได้อย่างไร?

เพิ่ม `include_links=true` และแปลงลิสต์ `links` เป็นบรรทัดที่คั่นด้วยแท็บ ซึ่งให้แผนที่ด่วนของลิงก์ขาออกของหน้าเว็บ ที่คุณสามารถเรียงลำดับ กรองด้วย grep หรือป้อนให้ batch job

*ลิงก์เป็นข้อความและ URL หนึ่งบรรทัดต่อหนึ่งรายการ*

```bash
curl -sG "https://webreaderapi.com/api/v1/read" \
  -H "Authorization: Bearer $WEBREADER_API_KEY" \
  --data-urlencode "url=https://example.com/docs/" \
  -d include_links=true \
  | jq -r '.links[] | "\(.text)\t\(.url)"' | sort -u
```

## ฉันจะอ่านหน้าเว็บ JavaScript หรือ PDF ได้อย่างไร?

เพิ่ม `-d render=true` สำหรับหน้าที่สร้างเนื้อหาด้วย JavaScript; จากนั้นจะเสีย 2 เครดิต PDF ไม่ต้องทำอะไรพิเศษ: ส่ง URL ของมันไป แล้วข้อความจะกลับมาใน `markdown` ไฟล์ PDF ขนาดไม่เกิน 20 MB และไม่เกิน 100 หน้า จะถูกแปลงเป็น Markdown ในอัตรา 1 เครดิตต่อทุก 10 หน้าที่เริ่มต้น

*หน้าเว็บที่ render แล้ว ตามด้วย PDF*

```bash
curl -sG "https://webreaderapi.com/api/v1/read" -H "Authorization: Bearer $WEBREADER_API_KEY" \
  --data-urlencode "url=https://example.com/app/changelog" -d render=true \
  | jq -r '.markdown' > changelog.md

curl -sG "https://webreaderapi.com/api/v1/read" -H "Authorization: Bearer $WEBREADER_API_KEY" \
  --data-urlencode "url=https://example.com/files/annual-report.pdf" \
  | jq -r '.markdown' > annual-report.md
```

## ฉันจะรัน batch job จาก shell ได้อย่างไร?

ส่ง JSON body พร้อม URL ของคุณไปที่ `/batch` เก็บ `job_id` ไว้ แล้วอ่าน job ลูปเล็กๆ จะรอจนกว่า job จะเป็น `done` และพิมพ์ชื่อเรื่องหรือ error code ของแต่ละหน้า สำหรับ job ที่ยาว ให้ทำตาม `next_cursor` ตามที่แสดงใน [หน้าของ batch และ crawl](https://webreaderapi.com/th/docs/crawl/)

*batch ของสาม URL แล้วรอผลลัพธ์*

```bash
JOB=$(curl -s "https://webreaderapi.com/api/v1/batch" \
  -H "Authorization: Bearer $WEBREADER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"urls": ["https://example.com/a", "https://example.com/b", "https://example.com/c"]}' \
  | jq -r '.job_id')

until [ "$(curl -s "https://webreaderapi.com/api/v1/jobs/$JOB" -H "Authorization: Bearer $WEBREADER_API_KEY" | jq -r '.status')" = "done" ]; do
  sleep 5
done

curl -s "https://webreaderapi.com/api/v1/jobs/$JOB" -H "Authorization: Bearer $WEBREADER_API_KEY" \
  | jq -r '.results[] | "\(.url)\t\(.title // .error.code)"'
```

## ฉันจะตรวจสอบเครดิตได้อย่างไร?

เรียก `/credits`; ฟรี คืนค่า `credits_remaining`, `credits_used_today` และ `concurrency_limit` ของคุณ เครดิตแบบเติมเงินไม่มีวันหมดอายุ: หน้าที่ไม่ได้ใช้จะยังคงอยู่ในบัญชีของคุณจนกว่าคุณจะใช้

*เครดิตคงเหลือ*

```bash
curl -s "https://webreaderapi.com/api/v1/credits" -H "Authorization: Bearer $WEBREADER_API_KEY" | jq '.credits_remaining'
```

## เวอร์ชัน PowerShell บน Windows คืออะไร?

`Invoke-RestMethod` แปลง JSON ให้คุณ ดังนั้นไม่ต้องใช้ jq สร้าง query ด้วย `[uri]::EscapeDataString` เพื่อ encode ที่อยู่หน้าเว็บ และส่งคีย์ในตาราง headers

*PowerShell: บันทึกหนึ่งหน้า*

```powershell
$headers = @{ Authorization = "Bearer $env:WEBREADER_API_KEY" }
$target = [uri]::EscapeDataString('https://example.com/guides/compost')
$page = Invoke-RestMethod -Uri "https://webreaderapi.com/api/v1/read?url=$target" -Headers $headers
$page.markdown | Out-File -Encoding utf8 compost.md
"$($page.title): $($page.word_count) words, $($page.credits_used) credit(s)"
```

## curl: คำถามที่พบบ่อย

### ทำไม URL ของฉันที่มี & ถึงล้มเหลว?

เพราะ shell หรือ curl แยกมันออกจากกัน ใส่เครื่องหมายคำพูดครอบอาร์กิวเมนต์ `url=…` ทั้งหมดและส่งด้วย `--data-urlencode` ดังใน recipe ด้านบน; จากนั้น curl จะ encode `&`, `?` และ `=` ภายในที่อยู่หน้าเว็บ

### ฉันจะดู HTTP status ของ error ได้อย่างไร?

เพิ่ม `-w '\n%{http_code}\n'` เพื่อพิมพ์หลังจาก body หรือ `-i` เพื่อดู headers ทั้งหมด `error.code` ของ body คือค่าที่เสถียรสำหรับทดสอบในสคริปต์

### การเรียกที่ล้มเหลวมีการคิดเงินหรือไม่?

ไม่ 1 เครดิต = อ่าน 1 หน้าโดยไม่ใช้เบราว์เซอร์; 2 เครดิตเมื่อหน้านั้นต้องใช้เบราว์เซอร์เพื่อเรนเดอร์ JavaScript คำขอที่ล้มเหลว หรือที่ robots.txt ของเว็บไซต์ปฏิเสธ จะไม่ถูกคิดเครดิต

---

WebReaderAPI: WebReaderAPI คือ API อ่านหน้าเว็บสำหรับ AI agent ที่แปลงหน้าเว็บสาธารณะใด ๆ เป็น Markdown สะอาด จ่ายด้วยคริปโตโดยไม่ต้องอัปโหลดบัตรประชาชน เครดิตแบบเติมเงินเริ่มต้นที่ US$0.07/1K หน้า ไม่มีวันหมดอายุ และเคารพ robots.txt ไม่ต้อง KYC — ไม่ต้องใช้บัตรประชาชน ไม่ต้องเซลฟี่ ไม่ต้องเอกสาร จ่ายด้วยคริปโต
