Scraping APIBắt đầu nhanhBắt đầu

Bắt đầu

Luồng Yêu cầu

  1. Gửi tác vụ Gửi yêu cầu POST đến /api/v1/scraper/request.
  2. Xử lý phản hồi
    1. HTTP 200 (Thành công): Dữ liệu được trả về trực tiếp trong nội dung phản hồi.
    2. HTTP 201 (Đang xử lý): Sử dụng taskId được cung cấp để kiểm tra kết quả.
  3. Kiểm tra kết quả Đối với các tác vụ không đồng bộ, hãy liên tục gọi /api/v1/scraper/result/{taskId} cho đến khi dữ liệu sẵn sàng (HTTP 200).

Mã trạng thái HTTP

Ý nghĩaHành động
200Thành côngSử dụng dữ liệu nội dung phản hồi trực tiếp.
201Tác vụ đang tiến hànhKiểm tra /result/{taskId} (khoảng thời gian khuyến nghị: 1-5 giây).
400Tham số không hợp lệVui lòng kiểm tra xem các tham số tác vụ có hợp lệ không.
429Vượt quá giới hạn tốc độGiảm tần suất yêu cầu hoặc liên hệ hỗ trợ để điều chỉnh hạn ngạch.
500Lỗi máy chủ nội bộThử lại sau 1 phút; liên hệ hỗ trợ nếu lỗi vẫn tiếp diễn.

Ví dụ mã

Luồng đầy đủ

import requests
import json
import time
 
API_KEY = "YOUR_API_KEY"
HOST = "api.scrapeless.com"
 
# Submit task
task_url = f"https://{HOST}/api/v1/scraper/request"
payload = json.dumps({
    "actor": "scraper.shopee",
    "input": {"url": "https://shopee.tw/a-i.10228173.24803858474"}
})
headers = {'Content-Type': 'application/json', 'x-api-token': API_KEY}
 
response = requests.post(task_url, headers=headers, data=payload)
 
# Handle response
if response.status_code == 200:
    print("Data:", response.json())
elif response.status_code == 201:
    task_id = response.json()["taskId"]
    print(f"Task queued. Polling ID: {task_id}")
 
    # Poll for results (max 10 attempts, 3s interval)
    max_retries = 10
    for _ in range(max_retries):
        result_url = f"https://{HOST}/api/v1/scraper/result/{task_id}"
        result_response = requests.get(result_url, headers=headers)
 
        if result_response.status_code == 200:
            print("Result:", result_response.json())
            break
        elif result_response.status_code == 201:
            print("Still processing. Retrying in 3s...")
            time.sleep(3)
        else:
            print(f"Error {result_response.status_code}: {result_response.text}")
            break
else:
    print(f"Request failed: {response.status_code} - {response.text}")
 

cURL (Ví dụ kiểm tra)

curl --location --request GET 'https://api.scrapeless.com/api/v1/scraper/result/30681c8b-bfd3-48eb-a7c9-006e40b00591' \
--header 'x-api-token: YOUR_API_KEY' \
--header 'Content-Type: application/json'
 

Tham số

Tham sốKiểuMô tả
actorchuỗiDịch vụ thu thập dữ liệu (ví dụ: scraper.shopee).
inputđối tượngCác tham số cụ thể của tác vụ (ví dụ: hành động, url).
proxyđối tượngCấu hình proxy tùy chọn với trường quốc gia.

Ghi chú

  1. Khuyến nghị kiểm tra
    1. Khoảng thời gian: 1-5 giây.
    2. Thời gian chờ: Đặt giới hạn thử lại tối đa (ví dụ: 10 lần thử).
  2. Mẹo gỡ lỗi
    1. Thử nghiệm với các URL đơn giản trước.