awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·

45 repos

Awesome GitHub RepositoriesWeb Scraping

Tools for automating browser interactions and extracting structured web data.

Explore 45 awesome GitHub repositories matching part of an awesome list · Web Scraping. Refine with filters or upvote what's useful.

Awesome Web Scraping GitHub Repositories

Find the best repos with AI.We'll search the best matching repositories with AI.
  • browser-use/browser-usebrowser-use avatar

    browser-use/browser-use

    100,229View on GitHub↗

    Browser-use is a framework for building autonomous agents that navigate, interact with, and extract data from web interfaces using natural language instructions. By acting as an orchestration layer between large language models and browser automation protocols, it enables the execution of complex, multi-step workflows without relying on brittle selectors. The system functions as a headless browser controller, providing a programmatic interface to manage browser instances and execute granular interactions. The project distinguishes itself through its ability to translate high-level intent into

    Library for browser automation and web scraping.

    Pythonai-agentsai-toolsbrowser-automation
    View on GitHub↗100,229
  • unclecode/crawl4aiunclecode avatar

    unclecode/crawl4ai

    68,644View on GitHub↗

    Crawl4AI is an AI-powered web crawling and data extraction engine designed to transform complex web content into structured formats. It functions as a headless browser orchestrator, enabling the navigation of dynamic websites, the execution of custom scripts, and the capture of visual assets like screenshots and PDFs. By integrating language models directly into the extraction workflow, the system converts raw HTML into clean, structured data or Markdown files optimized for downstream ingestion. The platform distinguishes itself through a distributed, self-hosted infrastructure that manages l

    Advanced web crawling framework for AI data extraction.

    Python
    View on GitHub↗68,644
  • d4vinci/scraplingD4Vinci avatar

    D4Vinci/Scrapling

    64,223View on GitHub↗

    Framework for building web scrapers and crawlers.

    Pythonaiai-scrapingautomation
    View on GitHub↗64,223
  • scrapy/scrapyscrapy avatar

    scrapy/scrapy

    62,274View on GitHub↗

    Scrapy is a comprehensive framework designed for automated web data extraction and large-scale crawling. It operates on an asynchronous, event-driven engine that manages non-blocking network requests and data processing tasks, allowing for the efficient retrieval of structured information from web documents using path-based selectors. The system distinguishes itself through a highly modular architecture that supports complex data collection workflows. Users can implement custom middleware and signal handlers to intercept and modify request flows, while a priority-based scheduler manages concu

    High-level framework for web crawling and scraping.

    Pythoncrawlercrawlingframework
    View on GitHub↗62,274
  • soimort/you-getsoimort avatar

    soimort/you-get

    56,839View on GitHub↗

    This project is a command-line utility designed to fetch video, audio, and image content from a wide range of web platforms. It functions by parsing page metadata and utilizing modular, site-specific scripts to extract direct media stream URLs from complex web structures, enabling the local archiving of digital media for offline use. The tool distinguishes itself through its ability to handle authenticated content, allowing users to inject browser-stored session cookies to access restricted or private media. It also supports real-time media streaming by piping remote content directly into ext

    Command-line utility to download media from the web.

    Python
    View on GitHub↗56,839
  • psf/requestspsf avatar

    psf/requests

    54,044View on GitHub↗

    Requests is a high-level HTTP client library designed to simplify web communication and API integration. It provides an intuitive, human-readable interface for performing standard network operations, including request execution, connection pooling, and stateful session management. By encapsulating raw network data into structured objects, the library automates the complexities of headers, cookies, and payload transmission. The library distinguishes itself through a modular transport adapter layer that allows for custom protocol handling and extensible authentication hooks. It supports a wide

    HTTP library for Python.

    Pythonclientcookiesforhumans
    View on GitHub↗54,044
  • seleniumhq/seleniumSeleniumHQ avatar

    SeleniumHQ/selenium

    34,203View on GitHub↗

    Selenium is a comprehensive browser automation framework that provides a standardized interface for controlling web browsers to perform automated tasks, user interactions, and data extraction. It functions as a cross-browser testing tool, enabling developers to execute identical automation scripts across various browser engines and operating systems to ensure consistent application behavior. By implementing the WebDriver protocol, it maps high-level automation commands to browser-specific drivers using a standardized HTTP-based wire protocol. The project distinguishes itself through its distr

    Tool for automating web applications.

    Javadotnetjavajavascript
    View on GitHub↗34,203
  • scrapegraphai/scrapegraph-aiScrapeGraphAI avatar

    ScrapeGraphAI/Scrapegraph-ai

    27,257View on GitHub↗

    Scrapegraph-ai is a Python framework that uses large language models to automate the extraction of structured data from websites and documents. It functions as an AI-driven data extraction pipeline that converts unstructured web content into structured formats using natural language processing and graph-based logic. The project utilizes graph-based task orchestration to model scraping workflows as interconnected nodes. It features a pluggable model interface for connecting to cloud or local artificial intelligence providers and can generate executable Python code on the fly to handle site-spe

    AI-based Python web scraper.

    Pythonai-crawlerai-scrapingai-search
    View on GitHub↗27,257
  • binux/pyspiderbinux avatar

    binux/pyspider

    16,809View on GitHub↗

    PySpider is a Python web crawling framework designed for automated data extraction. It provides a pipeline for periodically fetching web content, processing HTML, and persisting scraped information into database backends. The system features a web-based management interface for editing scraping scripts, monitoring task progress, and reviewing collected data. It includes a headless browser JavaScript renderer to capture rendered HTML from dynamic web pages and a distributed architecture that uses message queues to scale crawling workloads across multiple nodes. The framework also covers task

    Comprehensive web crawling system.

    Python
    View on GitHub↗16,809
  • microsoft/playwright-pythonmicrosoft avatar

    microsoft/playwright-python

    14,279View on GitHub↗

    Playwright for Python is a browser automation framework designed for end-to-end testing, web scraping, and user interaction simulation. It functions as a headless browser controller that enables programmatic navigation, data extraction, and the execution of complex workflows across multiple rendering engines. The framework distinguishes itself through an actionability-aware interaction engine that automatically verifies element readiness before performing actions, significantly reducing test flakiness. It utilizes isolated browser contexts to maintain separate storage and cookies for parallel

    Browser automation library for Python.

    Pythonchromiumfirefoxplaywright
    View on GitHub↗14,279
  • scrapinghub/portiascrapinghub avatar

    scrapinghub/portia

    9,509View on GitHub↗

    Portia is a containerized scraping platform and visual web scraper that enables no-code data extraction. It serves as a Scrapy visual scraping tool and spider generator, allowing users to design and deploy web scrapers through a graphical interface instead of writing manual selector code. The system distinguishes itself by converting visual web page annotations into executable Scrapy spider code and structured JSON specifications. This visual-to-code mapping allows users to define scraping logic and extraction rules through a point-and-click interface, which can then be exported for use in ex

    Visual web scraping tool.

    Python
    View on GitHub↗9,509
  • mherrmann/heliummherrmann avatar

    mherrmann/helium

    8,306View on GitHub↗

    Helium is a Python library and high-level wrapper for Selenium designed for browser automation, functional UI testing, and web scraping. It provides a simplified interface for interacting with web applications across different browser engines. The library distinguishes itself by allowing users to identify and interact with web elements using visible text labels rather than relying exclusively on technical identifiers like XPaths or CSS selectors. This approach enables the creation of automation scripts based on human-readable labels. The toolkit covers a broad range of browser automation cap

    High-level Selenium wrapper for web automation.

    Python
    View on GitHub↗8,306
  • lorien/awesome-web-scrapinglorien avatar

    lorien/awesome-web-scraping

    7,779View on GitHub↗

    List of libraries and tools for web scraping.

    Makefilecaptcha-bypasscaptcha-recaptchacrawler
    View on GitHub↗7,779
  • alirezamika/autoscraperalirezamika avatar

    alirezamika/autoscraper

    7,297View on GitHub↗

    Autoscraper is an automatic web scraping library and pattern-based data extractor that learns extraction rules from sample data. It identifies and retrieves text, URLs, and HTML elements from web pages by analyzing sample values to replicate data patterns across different URLs. The system functions as a web scraping model manager, allowing users to save and reload learned rules to maintain consistent data extraction. It supports the export and import of scraping rules to a local file system to avoid repeating the training process for the same website. The library covers automated web data ex

    Automatic and lightweight web scraper.

    Python
    View on GitHub↗7,297
  • bda-research/node-crawlerbda-research avatar

    bda-research/node-crawler

    6,785View on GitHub↗

    node-crawler is a programmable web crawler for Node.js that manages request queues and automates data extraction. It functions as a rate-limited HTTP client and a headless HTML parser, providing the infrastructure to visit large sets of URLs asynchronously while preventing duplicate processing through task deduplication. The project distinguishes itself through a proxy rotation manager that cycles user agents and proxy servers to bypass access restrictions. It utilizes the HTTP/2 protocol to improve request performance and server compatibility during large-scale scraping operations. The syst

    Web crawler with jQuery-like parsing.

    TypeScriptcheeriocrawlerextract-data
    View on GitHub↗6,785
  • lapwinglabs/x-raylapwinglabs avatar

    lapwinglabs/x-ray

    5,904View on GitHub↗

    X-Ray is a web scraping framework and asynchronous web crawler designed to extract structured data from websites. It functions as an HTML data extractor that transforms raw page content into a defined schema using CSS-style selectors. The project implements a headless browser crawler capable of executing JavaScript to render dynamic content. It handles website content discovery through a breadth-first crawling strategy and automatic pagination discovery to traverse multi-page result sets. The framework manages web data pipelines using a concurrency-limited request queue and request rate cont

    Web scraping library with pagination support.

    JavaScript
    View on GitHub↗5,904
  • yujiosaka/headless-chrome-crawleryujiosaka avatar

    yujiosaka/headless-chrome-crawler

    5,643View on GitHub↗

    This project is a distributed headless Chrome web crawler and data extraction framework. It functions as a JavaScript rendering engine that uses a headless browser to process dynamic pages, extracting structured data from websites that require JavaScript execution. The system is designed for scalable data collection across multiple nodes, using distributed task synchronization and shared caches to prevent duplicate work. It distinguishes itself through the ability to emulate specific client environments by configuring user agents and viewport dimensions, while capturing visual evidence such a

    Distributed crawler using headless Chrome.

    JavaScript
    View on GitHub↗5,643
  • justanotherarchivist/snscrapeJustAnotherArchivist avatar

    JustAnotherArchivist/snscrape

    5,398View on GitHub↗

    snscrape is a Python-based social media web scraper and crawler designed to extract public posts, profiles, and hashtags from social networks without the use of official APIs. It functions as an archival tool and a utility for open-source intelligence data collection, allowing for the gathering of publicly available information to investigate trends and people. The tool facilitates social media data extraction for research and archival purposes, enabling the creation of historical records of conversations and user activity. It supports workflows for academic social analysis and the export of

    Social networking service scraper.

    Python
    View on GitHub↗5,398
  • adbar/trafilaturaadbar avatar

    adbar/trafilatura

    5,319View on GitHub↗

    Trafilatura is a Python library and command-line tool for extracting clean, structured text and metadata from web pages. It downloads HTML content, identifies the main body of text, and strips away navigation, ads, and other boilerplate, returning the core article content along with fields like title, author, date, and URL. The tool can also extract user comments and test whether a page contains extractable text, making it a general-purpose web text extraction library. What distinguishes Trafilatura from simpler extractors is its configurable extraction pipeline, which offers high-speed, high

    Tool to gather text and metadata from the web.

    Pythonarticle-extractorcorpus-buildercorpus-tools
    View on GitHub↗5,319
  • mechanicalsoup/mechanicalsoupMechanicalSoup avatar

    MechanicalSoup/MechanicalSoup

    4,868View on GitHub↗

    MechanicalSoup is a Python web automation library and scraping framework designed to simulate browser sessions and navigate websites without requiring JavaScript execution. It functions as an HTML parsing tool and HTTP session manager, allowing for the programmatic retrieval of page content and the automation of web interactions. The library distinguishes itself by combining session persistence with automated form interaction. It maps user data to HTML input fields and selection boxes for programmatic submission and maintains authenticated states by managing cookies and user-agent headers acr

    Library for automating interaction with websites.

    Pythonbeautifulsoupmechanicalsouppypi
    View on GitHub↗4,868
Prev123Next
  1. Home
  2. Part of an Awesome List
  3. Developer Tools
  4. Web Scraping