Web Scraper:如何通过API管理抓取任务

Web Scraper API 是Web Scraper Cloud提供的功能,允许用户通过API调用来管理Sitemaps、执行抓取任务和下载抓取到的数据。你可以使用Node.js或PHP SDK来快速集成这些API,帮助自动化数据抓取流程,并进行高效的任务管理。

如何使用Web Scraper API?

1. API访问令牌

要访问Web Scraper API,你需要在Web Scraper Cloud的API页面找到你的API访问令牌。这个令牌用于身份验证和API调用,确保你的请求是合法的。

2. API调用限制

默认情况下,每个用户每15分钟可以进行200次API调用。你可以通过API响应头追踪剩余调用次数:

  • X-RateLimit-Limit: 200
  • X-RateLimit-Remaining: 剩余调用次数
  • X-RateLimit-Reset: 限制重置的时间戳(仅在达到调用限制时返回)

如果调用限制被触发,SDK将自动进入休眠状态,并在限制恢复后继续请求。

常见API操作示例

1. 创建Sitemap

你可以通过POST请求创建一个新的Sitemap:

    
POST https://api.webscraper.io/api/v1/sitemap?api_token=<YOUR API TOKEN>

示例JSON:

    
{
	"_id": "webscraper-io-landing",
	"startUrl": ["http://webscraper.io/"],
	"selectors": [{
		"parentSelectors": ["_root"],
		"type": "SelectorText",
		"multiple": false,
		"id": "title",
		"selector": "h1",
		"regex": "",
		"delay": ""
	}]
}

响应:

    
{
	"success": true,
	"data": {
		"id": 123
	}
}

2. 获取Sitemap列表

使用GET请求可以获取所有Sitemap:

    
GET https://api.webscraper.io/api/v1/sitemaps?api_token=<YOUR API TOKEN>

响应:

    
{
	"success": true,
	"data": [
		{
			"id": 123,
			"name": "webscraper-io-landing"
		},
		{
			"id": 124,
			"name": "webscraper-io-landing2"
		}
	],
	"current_page": 1,
	"last_page": 1,
	"total": 2,
	"per_page": 100
}

3. 创建抓取任务

你可以通过POST请求启动一个新的抓取任务:

    
POST https://api.webscraper.io/api/v1/scraping-job?api_token=<YOUR API TOKEN>

示例JSON:

    
{
	"sitemap_id": 123,
	"driver": "fast", 
	"page_load_delay": 2000,
	"request_interval": 2000,
	"proxy": 0
}

响应:

    
{
	"success": true,
	"data": {
		"id": 500,
		"custom_id": "custom-scraping-job-12"
	}
}

4. 下载抓取数据

你可以通过API下载已抓取的数据,支持JSON和CSV格式。

  • JSON格式下载:
    
GET https://api.webscraper.io/api/v1/scraping-job/<SCRAPING JOB ID>/json?api_token=<YOUR API TOKEN>

响应:

    
{"title":"Nokia 123","price":"$24.99","description":"7 day battery"}
{"title":"ProBook","price":"$739.99","description":"14\", Core i5 2.6GHz, 4GB, 500GB, Win7 Pro 64bit"}
  • CSV格式下载:
    
GET https://api.webscraper.io/api/v1/scraping-job/<SCRAPING JOB ID>/csv?api_token=<YOUR API TOKEN>

响应:

    
web-scraper-order,title,price,description
1494492462-1,Nokia 123,$24.99,7 day battery
1494492462-2,ProBook,$739.99,14", Core i5 2.6GHz, 4GB, 500GB, Win7 Pro 64bit

API调用的其他功能

1. 任务进度监控

你可以通过API获取抓取任务的状态,确保任务顺利进行:

    
GET https://api.webscraper.io/api/v1/scraping-job/<SCRAPING JOB ID>?api_token=<YOUR API TOKEN>

任务状态包括:

  • waiting-to-be-scheduled: 任务正在等待排队。
  • started: 任务正在进行中。
  • failed: 任务执行失败,通常是由于网络错误或页面返回了大量4xx/5xx错误。
  • finished: 任务已完成。

2. Sitemap调度

你可以通过API设置或取消Sitemap的调度任务,以便按计划执行抓取任务。例如,每天每隔10分钟运行一次任务:

    
POST https://api.webscraper.io/api/v1/sitemap/<Sitemap ID>/enable-scheduler?api_token=<YOUR API TOKEN>

示例JSON:

    
{
    "cron_minute": "*/10",
    "cron_hour": "*",
    "cron_day": "*",
    "cron_month": "*",
    "cron_weekday": "*",
    "request_interval": 2000,
    "page_load_delay": 2000,
    "driver": "fast",
    "proxy": 0
}

最后感受

通过Web Scraper API,你可以将数据抓取流程高度自动化,并灵活管理任务和数据。无论是创建Sitemap、启动抓取任务,还是下载抓取结果,API都提供了强大的工具来实现高效的数据处理。如果你正在构建一个需要自动化抓取的应用程序,Web Scraper API无疑是你最佳的选择!

阅读全文
AI工具教程
免费领取AI学习资料 进AI副业交流群
礼物
AI工具教程
免费领取AI学习资料 进AI副业交流群