원클릭으로
using-web-scraping
Search and scrape public web content with headless Chrome and DuckDuckGo using safe practices.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Search and scrape public web content with headless Chrome and DuckDuckGo using safe practices.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Upload and host files anonymously using decentralized storage with Originless and IPFS.
Automate web browsers for AI agents using agent-browser CLI with deterministic element selection.
Log all file changes (write, edit, delete) to a SQLite database for debugging and audit. Use when: (1) Tracking code changes, (2) Debugging issues, (3) Auditing file modifications, or (4) The user asks to track file changes.
Fetch current and historical crypto prices and compute ATH or ATL over common time windows.
Host static websites and assets via zip upload to Originless IPFS. Use when: (1) Deploying static sites, (2) Hosting HTML/CSS/JS projects, (3) Sharing web assets publicly, or (4) User asks to host static files.
Search for torrents by title or IMDB ID via a Torznab-compatible API. Use when: (1) User asks to find a torrent for a movie or show, (2) You need a magnet link for a given title, or (3) User provides an IMDB ID and wants download options.
| name | using-web-scraping |
| description | Search and scrape public web content with headless Chrome and DuckDuckGo using safe practices. |
A privacy-minded, agent-facing web-scraping skill that uses headless Chrome (Playwright/Puppeteer) and DuckDuckGo for search. Focuses on: reliable navigation, extracting structured text, obeying robots.txt, and rate-limiting.
/robots.txt before scraping a site.User-Agent strings.login_required instead of attempting to bypass.title, meta description, main text (or best-effort article text), and canonical URL.const { chromium } = require('playwright');
async function ddgSearchAndScrape(query) {
const browser = await chromium.launch({ headless: true });
const page = await browser.newPage({ userAgent: 'open-skills-bot/1.0' });
// DuckDuckGo search
await page.goto('https://duckduckgo.com/');
await page.fill('input[name="q"]', query);
await page.keyboard.press('Enter');
await page.waitForSelector('.result__title a');
// collect top result URL
const href = await page.getAttribute('.result__title a', 'href');
if (!href) { await browser.close(); return []; }
// visit result and extract
await page.goto(href, { waitUntil: 'domcontentloaded' });
const title = await page.title();
const description = await page.locator('meta[name="description"]').getAttribute('content').catch(() => null);
const article = await page.locator('article, main, #content').first().innerText().catch(() => null);
await browser.close();
return [{ url: href, title, description, text: article }];
}
// usage
// ddgSearchAndScrape('open-source agent runtimes').then(console.log);
You are an agent with a web-scraping skill. For any `search:` task, use DuckDuckGo to find relevant pages, then open each page in a headless Chrome instance (Playwright/Puppeteer) and extract `title`, `meta description`, `main text`, and `canonical` URL. Always:
- Check and respect robots.txt
- Rate-limit requests (<=1 req/sec)
- Use a clear `User-Agent` and do not execute arbitrary page JS
Return results as JSON: [{url,title,description,text}] or `login_required` if a page needs authentication.
npm i playwright and run npx playwright install for browser binaries.pip install playwright and playwright install.page.route to block large assets (images, fonts) when you only need text.