360 Secure SkillHub
360 安全技能中心

Scraper Airbnb Product By Searchurl

核心功能为生成Airbnb系列Dataify爬虫的curl请求,需先确认环境中存在DATAIFY_API_TOKEN(缺失则引导获取)。支持用户选择「搜索URL」或「位置」两种工具,根据参数类型(用户输入/预设选择)收集信息,可处理多参数值组合生成多个请求对象。典型场景是用户需调用Airbnb Dataify爬虫获取数据时,快速生成合规的请求命令,输出为可直接执行的curl指令,同时提供跨平台脚本辅助构建。

dataify-server
dataify-server
热度 16.76
最近更新 2026-06-08 09:27:46
分类:自动化依赖:代码执行 / 读写文件 / 第三方 API应用场景:数据处理 / 自动化脚本

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add scraper-airbnb-product-by-searchurl
Metadata
name
dataify-airbnb-product-by-searchurl
description
Prepare Dataify builder requests for the airbnb.com scraper family rooted at airbnb_product_by-searchurl. Use when needs to work with the successful Dataify scraper detail entry for airbnb_product_by-searchurl, let the user choose one of its available tools, read saved getToolParams options, and generate a scraperapi.dataify.com/builder curl request with DATAIFY_API_TOKEN.

Dataify Builder Skill

Use this skill to prepare Dataify builder requests for the scraper family rooted at airbnb_product_by-searchurl on airbnb.com.

Workflow

  1. Check whether DATAIFY_API_TOKEN exists in the environment.
  2. If the token is missing, stop and tell the user to sign in at Dataify Dashboard to obtain it.
  3. Ask the user to choose exactly one tool from the following Chinese list:
  • 搜索URL (airbnb_product_by-searchurl)
  • 位置 (airbnb_product_by-location)
  1. Read references/tool-params.json and find the chosen tool by tool_sign or Chinese tool name.
  2. For each parameter in the chosen tool:
    • If input_mode is user_input, ask the user for the value.
    • If input_mode is select, present the saved options to the user.
  3. Use scripts/build-dataify-request.py as the default cross-platform helper.
  4. Use scripts/build-dataify-request.ps1 as the Windows PowerShell helper when needed.
  5. When a selectable parameter has a human-readable Chinese label, keep that label in spider_parameters. Do not replace it with a code such as HK unless the user explicitly asks for the coded value.
  6. Build spider_parameters as a JSON array.
  7. If every parameter has only one final value, build one object such as [{"searchurl":"...","country":"Hong Kong"}].
  8. If one or more parameters have multiple aligned values, zip them by index and build one object per row. Example: [{"search_url":"url1","page_turning":"1","max_num":"15"},{"search_url":"url2","page_turning":"1","max_num":"15"}].
  9. If a parameter has one value while another parameter has multiple values, reuse the single value across every generated row.
  10. Set spider_name to airbnb.com.
  11. Set spider_id to the selected tool's tool_sign.
  12. Always include spider_errors=true and file_name={{TasksID}}.
  13. Return a curl command for https://scraperapi.dataify.com/builder.

Set DATAIFY_API_TOKEN

Prefer a permanent environment-variable setup instead of setting the token only for the current terminal session.

Windows PowerShell, permanent for the current user:

[Environment]::SetEnvironmentVariable("DATAIFY_API_TOKEN", "your_token_here", "User")

Then reopen PowerShell. If the current session also needs the token immediately, run:

$env:DATAIFY_API_TOKEN = "your_token_here"

macOS or Linux, permanent for bash:

echo 'export DATAIFY_API_TOKEN="your_token_here"' >> ~/.bashrc
source ~/.bashrc

macOS or Linux, permanent for zsh:

echo 'export DATAIFY_API_TOKEN="your_token_here"' >> ~/.zshrc
source ~/.zshrc

Script usage

Python:

python scripts/build-dataify-request.py --tool-sign <selected_tool_sign> --values-file values.json

PowerShell:

& ".\scripts\build-dataify-request.ps1" -ToolSign "<selected_tool_sign>" -ValuesFile ".\values.json"

The values.json file should contain either one object or an array of objects. Example:

[{"searchurl":"https://www.airbnb.com/s/Greece/homes?...","country":"Hong Kong"}]

Required output shape

Generate a curl command in this form:

curl -X POST 'https://scraperapi.dataify.com/builder' \
  -H "Authorization: Bearer $DATAIFY_API_TOKEN" \
  -H 'Content-Type: application/x-www-form-urlencoded' \
  -d 'spider_name=airbnb.com' \
  -d 'spider_id=<selected_tool_sign>' \
  -d 'spider_parameters=[{"param":"value"}]' \
  -d 'spider_errors=true' \
  -d 'file_name={{TasksID}}'

Reference usage

  • references/tool-params.json stores the full saved parameter catalog for every available tool in this scraper family.
  • scripts/build-dataify-request.py is the portable implementation and should be preferred.
  • scripts/build-dataify-request.ps1 mirrors the same behavior for Windows users.
  • If a parameter has no options, the user must provide the value.
  • If a parameter has options, present those options back to the user before building the final request.
  • Do not assume spider_parameters always contains exactly one object. Multi-value tools may require multiple objects zipped by index.
  • Use the saved url_example only as a reference example. Do not assume the user wants the example values unless they explicitly confirm them.