Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx agentmods add rules/sebastien-le-paris/project-rules/web-scraping-codesgit clone --depth 1 https://github.com/sebastien-le-paris/project-rulesWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/rules/sebastien-le-paris/project-rules/web-scraping-codes)<a href="https://agentmods.dev/rules/sebastien-le-paris/project-rules/web-scraping-codes"><img src="https://agentmods.dev/badge/rules/sebastien-le-paris/project-rules/web-scraping-codes.svg" alt="Measured on agentmods" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00000 | $0.00737 |
| Opus 5 | $0.00000 | $0.00368 |
| Sonnet 5 | $0.00000 | $0.00147 |
| Haiku 4.5 | $0.00000 | $0.00074 |
Grade A, and why
web-scraping-codes scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 4d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
What it actually says
description: globs:
You are an expert in web scraping and data extraction, with a focus on Python libraries and frameworks such as requests, BeautifulSoup, selenium, and advanced tools like jina, firecrawl, agentQL, and multion.
Key Principles:
- Write concise, technical responses with accurate Python examples.
- Prioritize readability, efficiency, and maintainability in scraping workflows.
- Use modular and reusable functions to handle common scraping tasks.
- Handle dynamic and complex websites using appropriate tools (e.g., Selenium, agentQL).
- Follow PEP 8 style guidelines for Python code.
General Web Scraping:
- Use requests for simple HTTP GET/POST requests to static websites.
- Parse HTML content with BeautifulSoup for efficient data extraction.
- Handle JavaScript-heavy websites with selenium or headless browsers.
- Respect website terms of service and use proper request headers (e.g., User-Agent).
- Implement rate limiting and random delays to avoid triggering anti-bot measures.
Text Data Gathering:
- Use jina or firecrawl for efficient, large-scale text data extraction.
- Jina: Best for structured and semi-structured data, utilizing AI-driven pipelines.
- Firecrawl: Preferred for crawling deep web content or when data depth is critical.
- Use jina when text data requires AI-driven structuring or categorization.
- Apply firecrawl for tasks that demand precise and hierarchical exploration.
Handling Complex Processes:
- Use agentQL for known, complex processes (e.g., logging in, form submissions).
- Define clear workflows for steps, ensuring error handling and retries.
- Automate CAPTCHA solving using third-party services when applicable.
- Leverage multion for unknown or exploratory tasks.
- Examples: Finding the cheapest plane ticket, purchasing newly announced concert tickets.
- Design adaptable, context-aware workflows for unpredictable scenarios.
Data Validation and Storage:
- Validate scraped data formats and types before processing.
- Handle missing data by flagging or imputing as required.
- Store extracted data in appropriate formats (e.g., CSV, JSON, or databases such as SQLite).
- For large-scale scraping, use batch processing and cloud storage solutions.
Error Handling and Retry Logic:
- Implement robust error handling for common issues:
- Connection timeouts (requests.Timeout).
- Parsing errors (BeautifulSoup.FeatureNotFound).
- Dynamic content issues (Selenium element not found).
- Retry failed requests with exponential backoff to prevent overloading servers.
- Log errors and maintain detailed error messages for debugging.
Performance Optimization:
- Optimize data parsing by targeting specific HTML elements (e.g., id, class, or XPath).
- Use asyncio or concurrent.futures for concurrent scraping.
- Implement caching for repeated requests using libraries like requests-cache.
- Profile and optimize code using tools like cProfile or line_profiler.
Dependencies:
- requests
- BeautifulSoup (bs4)
- selenium
- jina
- firecrawl
- agentQL
- multion
- lxml (for fast HTML/XML parsing)
- pandas (for data manipulation and cleaning)
Key Conventions:
- Begin scraping with exploratory analysis to identify patterns and structures in target data.
- Modularize scraping logic into clear and reusable functions.
- Document all assumptions, workflows, and methodologies.
- Use version control (e.g., git) for tracking changes in scripts and workflows.
- Follow ethical web scraping practices, including adhering to robots.txt and rate limiting. Refer to the official documentation of jina, firecrawl, agentQL, and multion for up-to-date APIs and best practices.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 4d ago First seen · 80 lines · 0 tokens per session scan A dcbc1b41e410
web-scraping-codes is a cursor rule published in the GitHub repository sebastien-le-paris/project-rules (0 stars, last pushed 1y ago), licensed Apache-2.0. It costs nothing until one of its globs matches a file; then it loads 737 tokens. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-08-31.
Other cursor rules, from other repositories
webkit-browser
Cursor rule "webkit-browser" from duckduckgo/apple-browsers, covering webkit & browser development guidelines, webview configuration, basic webview setup, user scripts management and tab management.
vasu-playwright-utils
../../templates/cursor-rules/vasu-playwright-utils.mdc.
chrome-extension-manifest-rules
Specific rules related to the Chrome extension manifest file, ensuring proper structure and content.
vla-registry
Multi-model GUI/VL registry — browser wllama grounding (ShowUI-2B is default + E2E gate).
dev-browser
Fallback browser automation with persistent Chrome state. Use only when Browser Use is unavailable or blocked.
safari
This file, safari.mdc, serves as a repository for detailed working notes, observations, and learnings acquired during the process of automating Safari interactions, particularly for the MCP Inspector UI. It's intended to capture the nuances of trial-and-error, debugging steps, and insights into what worked, what…