html-scraper-mcp
v1.0.3
Published
MCP server for HTML scraping and data extraction using Puppeteer
Maintainers
Readme
HTML Scraper MCP
Puppeteer istifadə edərək saytları analiz edən və məlumat çıxaran MCP server.
Xüsusiyyətlər
- Browser idarəetməsi: Yeni browser aça və ya mövcud browser-a qoşula bilər (debug port ilə)
- Network monitoring: Bütün HTTP request/response-ları izləyir
- Data extraction: CSS selector və ya JavaScript ilə məlumat çıxarır
- Error tracking: Console error-ları və uğursuz request-ləri toplayır
- API analizi: XHR/Fetch request-lərini ayrıca analiz edir
Quraşdırma
NPM-dən quraşdırma (Tövsiyə edilir)
npm install -g html-scraper-mcpVə ya local olaraq klonlama
git clone https://github.com/Umid-ismayilov/html-scraper-mcp.git
cd html-scraper-mcp
npm installİstifadə
Claude Code-da konfiqurasiya
Claude Code MCP server-ləri üçün 3 üsul dəstəkləyir: stdio (local), HTTP (remote), və SSE (deprecated).
Metod 1: Claude CLI ilə quraşdırma (Tövsiyə edilir)
NPM paketi ilə:
# Global quraşdırma
npm install -g html-scraper-mcp
# MCP server əlavə et
claude mcp add --transport stdio html-scraper npx html-scraper-mcpLocal path ilə:
# Repo klonla
git clone https://github.com/Umid-ismayilov/html-scraper-mcp.git
cd html-scraper-mcp
npm install
# MCP server əlavə et
claude mcp add --transport stdio html-scraper node /full/path/to/html-scraper-mcp/index.jsEnvironment variables ilə:
# Debug port göndərmək istəyirsinizsə
claude mcp add --transport stdio html-scraper --env DEFAULT_DEBUG_PORT=9222 -- npx html-scraper-mcpMetod 2: .mcp.json faylı ilə (Project-specific)
Proyektinizin root directory-sində .mcp.json faylı yaradın:
{
"mcpServers": {
"html-scraper": {
"command": "npx",
"args": ["html-scraper-mcp"],
"env": {
"DEFAULT_DEBUG_PORT": "9222"
}
}
}
}Bu konfiqurasiya yalnız həmin proyektdə işləyəcək.
Metod 3: Manual konfiqurasiya (Legacy)
Claude Code settings faylınıza (~/.config/claude-code/config.json və ya %USERPROFILE%\.config\claude-code\config.json Windows-da) əlavə edin:
{
"mcpServers": {
"html-scraper": {
"command": "npx",
"args": ["html-scraper-mcp"]
}
}
}MCP server-ləri idarə etmək
# Bütün server-ləri göstər
claude mcp list
# Server detallarını gör
claude mcp get html-scraper
# Server-i sil
claude mcp remove html-scraperMCP Tool-larını istifadə etmək
MCP server quraşdırdıqdan sonra Claude Code avtomatik olaraq tool-ları tanıyacaq. Claude Code-da /mcp yazaraq server-ləri idarə edə bilərsiniz.
Nümunə 1: Sadə scraping
https://example.com səhifəsini aç və başlığı gətirNümunə 2: API request-lərini izləmək
https://api.example.com səhifəsini aç və bütün API çağırışlarını göstərNümunə 3: Məlumat çıxarmaq
https://example.com/products səhifəsini aç və .product-title class-ına sahib bütün elementlərin mətnini çıxarNümunə 4: Debug port ilə mövcud browser-a qoşulma
Port 9222-də https://example.com səhifəsini aç və məlumat çıxarDebug Port konfiqurasiyası
Əgər artıq açıq olan browser-a qoşulmaq istəyirsinizsə (məsələn, login olmuş session-da işləmək üçün):
Chrome-u debug mode-da açın
# macOS
/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --remote-debugging-port=9222 --user-data-dir=/tmp/chrome-debug
# Linux
google-chrome --remote-debugging-port=9222 --user-data-dir=/tmp/chrome-debug
# Windows
"C:\Program Files\Google\Chrome\Application\chrome.exe" --remote-debugging-port=9222 --user-data-dir=C:\temp\chrome-debugSonra Claude Code-da sadəcə port nömrəsini qeyd edin və tool avtomatik qoşulacaq.
Mövcud Tool-lar
1. inspect_url
URL-i açır və səhifəni analiz edir.
Parametrlər:
url(required): Analiz ediləcək URLdebugPort(optional): Mövcud browser-a qoşulmaq üçün debug port (məs: 9222)
Nümunə:
URL-i aç: https://example.comBrowser debug portuna qoşulmaq üçün:
URL-i aç: https://example.com (port 9222-də)2. get_network_data
Network request və response məlumatlarını filter edib qaytarır.
Parametrlər:
resourceType(optional): 'xhr', 'fetch', 'document', 'script', 'stylesheet', 'image'method(optional): 'GET', 'POST', 'PUT', 'DELETE'limit(optional): Maksimum nəticə sayı (default: 100)includeBody(optional): Response body-ləri daxil et (default: false)
Nümunə:
Bütün API request-lərini göstər
Yalnız POST request-lərini göstər3. get_api_requests
Yalnız XHR və Fetch (API) request-lərini qaytarır.
Parametrlər:
limit(optional): Maksimum nəticə sayı (default: 50)includeBody(optional): Response body-ləri daxil et (default: true)
Nümunə:
API çağırışlarını göstər4. extract_data
Səhifədən məlumat çıxarır.
Parametrlər:
selector(required): CSS selector (məs: ".price", "#title")extractType(required): 'text', 'html', 'attribute', 'multiple'attribute(optional): Atribut adı (extractType='attribute' olduqda)multiple(optional): Bütün uyğun elementləri götür (default: false)
Nümunələr:
Başlığı götür: h1.title
Bütün qiymətləri götür: .product .price
Link href-lərini götür: a.download atribut href5. execute_script
Səhifədə JavaScript kodu icra edir.
Parametrlər:
script(required): İcra ediləcək JavaScript kodu
Nümunə:
Bu kodu icra et:
document.querySelectorAll('.product').length6. get_console_errors
Console error-ları və uğursuz request-ləri qaytarır.
Nümunə:
Error-ları göstər7. close_browser
Browser-i bağlayır və məlumatları təmizləyir.
Nümunə:
Browser-i bağlaİstifadə Ssenariləri
Nümunə 1: Saytdan məhsul məlumatlarını çıxarmaq
1. https://example.com/products səhifəsini aç
2. Bütün məhsul adlarını götür (.product-name selector ilə)
3. Bütün qiymətləri götür (.price selector ilə)
4. Browser-i bağlaNümunə 2: API request-lərini analiz etmək
1. https://app.example.com səhifəsini aç
2. API request-lərini göstər
3. Response body-lərini göstərNümunə 3: Dinamik məlumat çıxarmaq
1. https://example.com səhifəsini aç
2. Bu kodu icra et:
const products = [...document.querySelectorAll('.product')].map(p => ({
name: p.querySelector('.name').innerText,
price: p.querySelector('.price').innerText
}));
return products;Qeydlər
- Browser yalnız ilk
inspect_urlçağırışında açılır - Hər
inspect_urlçağırışında network və error məlumatları təmizlənir close_browserbütün məlumatları təmizləyir və browser-i bağlayır- Debug port istifadə edərkən, browser əl ilə açılmalıdır
Lisenziya
MIT
