openbotx
An open-source platform for orchestrating AI agents — secure, simple, and built for everyone. Multi-agent, real-time task board, web control panel, skills system, browser automation, multi-provider, scheduler,...
爬取动态电商网站数据。使用Playwright处理JavaScript渲染的页面,支持Cloudflare反爬、隐躲API发现、分页抓取。适用于: (1) 爬取京东/淘宝/拼多多等中国电商, (2) 爬取Amazon/eBay等国际电商, (3) 价格监控和竞品分析, (4) 批量商品数据采集。
Follow the repository instructions for this skill and your agent. Review the files and dependencies before adding it to your workflow.
SkillHub CLI
skillhub install chefroger/ecommerce-scraperInspect the source and compatibility requirements, then follow its installation steps.
Give your agent the source link and ask it to inspect instructions and dependencies before explaining the installation steps.
电商动态网站爬虫技能,基于Playwright处理JavaScript渲染。
from playwright.sync_api import sync_playwright
def scrape_page(url):
with sync_playwright() as p:
browser = p.chromium.launch(headless=True)
page = browser.new_page()
page.goto(url, wait_until="networkidle")
content = page.content()
browser.close()
return content
from playwright.sync_api import sync_playwright
import json
import re
def scrape_ecommerce_products(url, max_pages=3):
"""爬取电商商品数据"""
products = []
with sync_playwright() as p:
browser = p.chromium.launch(
headless=True,
args=['--disable-blink-features=AutomationControlled']
)
context = browser.new_context(
user_agent='Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36'
)
page = context.new_page()
# 绕过Cloudflare检测
page.add_init_script("""
Object.defineProperty(navigator, 'webdriver', {
get: () => undefined
});
""")
for page_num in range(1, max_pages + 1):
print(f"爬取第 {page_num} 页...")
page.goto(f"{url}?page={page_num}", wait_until="networkidle", timeout=30000)
# 等待商品加载
try:
page.wait_for_selector('.product-item, .goods-item, [class*="product"]', timeout=10000)
except:
pass
# 提取商品数据
items = page.query_selector_all('div[class*="product"], li[class*="item"], .goods-item')
for item in items:
try:
product = {
'title': item.query_selector('a[class*="title"], h3, .product-title')?.inner_text().strip(),
'price': item.query_sel...
These signals come from indexed source analysis and may lag behind changes. Check the current source files.
# E-commerce Scraper
电商动态网站爬虫技能,基于Playwright处理JavaScript渲染。
## 快速开始
### 基础爬取
```python
from playwright.sync_api import sync_playwright
def scrape_page(url):
with sync_playwright() as p:
browser = p.chromium.launch(headless=True)
page = browser.new_page()
page.goto(url, wait_until="networkidle")
content = page.content()
browser.close()
return content
```
### 完整示例:爬取商品列表
```python
from playwright.sync_api import sync_playwright
import json
import re
def scrape_ecommerce_products(url, max_pages=3):
"""爬取电商商品数据"""
products = []
with sync_playwright() as p:
browser = p.chromium.launch(
headless=True,
args=['--disable-blink-features=AutomationControlled']
)
context = browser.new_context(
user_agent='Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36'
)
page = context.new_page()
# 绕过Cloudflare检测
page.add_init_script("""
Object.defineProperty(navigator, 'webdriver', {
get: () => undefined
});
""")
for page_num in range(1, max_pages + 1):
print(f"爬取第 {page_num} 页...")
page.goto(f"{url}?page={page_num}", wait_until="networkidle", timeout=30000)
# 等待商品加载
try:
page.wait_for_selector('.product-item, .goods-item, [class*="product"]', timeout=10000)
except:
pass
# 提取商品数据
items = page.query_selector_all('div[class*="product"], li[class*="item"], .goods-item')
for item in items:
try:
product = {
'title': item.query_selector('a[class*="title"], h3, .product-title')?.inner_text().strip(),
'price': item.query_sel...An open-source platform for orchestrating AI agents — secure, simple, and built for everyone. Multi-agent, real-time task board, web control panel, skills system, browser automation, multi-provider, scheduler,...
OpenClaw skill for 知识星球 / ZSXQ digests with token-first auth and browser recovery.
🌐 OpenClaw skill for Browser-Use — AI-powered browser automation for complex multi-step workflows (login, form filling, scraping, posting)
OpenClaw skill to crosspost X/Twitter posts to Reddit via browser automation