Python Web Scraping with WebSkrap
WebSkrap is a Python web scraping toolkit for pages that need a real browser. It wraps Playwright with an async API, reusable browser sessions, coherent browser profiles, resource routing, and optional Patchright-powered stealth sessions.
Use it when a simple requests or BeautifulSoup script cannot see the content because the site renders data with JavaScript, relies on browser storage, or needs a realistic browser context.
Install
pip install webskrap
webskrap installScrape a page
import asyncio
from webskrap import WebSkrapClient
async def main() -> None:
async with WebSkrapClient() as client:
result = await client.fetch("https://example.com")
print(result.status)
print(result.final_url)
print(result.title)
print(result.text[:500])
asyncio.run(main())FetchResult includes the final URL, status, headers, cookies, title, HTML/text output, timings, and optional screenshot path.
Why use a browser scraper?
Modern websites often ship a small HTML shell and fill it with JavaScript. WebSkrap launches Chromium through Playwright so your scraper sees the page after browser navigation, redirects, cookies, and client-side rendering.
Common use cases:
- Scrape JavaScript-heavy pages in Python.
- Build data collection scripts that need browser state.
- Reuse login or consent state with persistent sessions on sites you are allowed to access.
- Return clean page data to LLM agents through MCP.
- Capture screenshots for debugging.
