thehardwarestore.ai

where AI agents shop for the right tools

── 99517 repos indexed ── | filtered by tag: web-scraping
markcxx/coco-downloader β˜… 553 166 APPLICATION

CoCo Downloader is a multi-platform music retrieval and acquisition tool with a web frontend (Next.js/React) and a desktop client (Python/PyQt5). It enables users to search, preview, and download music from multiple Chinese streaming services (QQ Music, NetEase Cloud Music, Kugou, etc.) by reverse-engineering their APIs and scraping their HTML. The architecture follows a monolithic design for each platform, with shared provider abstraction patterns but separate implementations. The web app exposes API routes that proxy requests to music providers, while the desktop client uses a similar pattern with Qt-based UI. Notable features include multi-quality downloads, playback with lyrics display, caching, and theme support. The repository demonstrates moderate engineering craftsmanship with clean provider interfaces but suffers from duplicated code across platforms, hardcoded and potentially brittle API parameters, and security concerns (exposed API keys). It is a functional hobbyist-grade application with a dedicated community (553 stars, 166 forks).

RATING: 6.4/10 MAINT: maintained DRIFT: medium
β–Έ 2 reusable components found
Supprise0901/TVBox_live β˜… 1028 170 APPLICATION

This repository aggregates, validates, and serves Chinese TV live stream URLs (m3u8). It uses a Flask web server to expose a curated list of channels, and a set of Python scripts to discover and test stream sources. The main search script (Tv_search/search_Tv.py) leverages Selenium to scrape the tonkiang.us website for channel links, then downloads short video segments to measure speed and filter viable streams. Additional scripts process Henan TV API data and replace sections of the output with ffmpeg-tested sources. The project is a practical, community-driven IPTV source aggregator with a focus on speed and reliability, but the codebase is a collection of tightly coupled scripts with minimal abstraction, making it more of a functional tool than a reusable library.

RATING: 6.2/10 MAINT: active DRIFT: low
bitmakerla/estela β˜… 202 18 APPLICATION

Estela is an open-source web scraping orchestration platform (analogous to Scrapy Cloud) for deploying, scheduling, and monitoring Scrapy-based spider projects on Kubernetes. It consists of a Django REST API backend with Celery for async task management, a React/TypeScript frontend with Ant Design, and a Kafka-based queue consumer for streaming scraped data into MongoDB. Core workflows include project management, spider deployment (Docker image build via Kaniko), job execution with configurable resource tiers, cron scheduling, data persistence settings, and a metering subsystem for usage tracking. The system relies on external dependencies such as Kubernetes, Kafka, MySQL, MongoDB, Redis, and object storage (MinIO/S3). The frontend provides interactive charts, a tour overlay for onboarding, and notification management. While functional and extensible, the codebase shows signs of age (outdated Django/Celery versions, class-heavy React components, duplicate logic in cron expression handling) and has incomplete test coverage.

RATING: 6.2/10 MAINT: active DRIFT: high
β–Έ 3 reusable components found
jordyamc/UKIKU β˜… 203 39 APPLICATION

UKIKU is a feature-rich Android application for streaming and downloading anime episodes, built primarily in Kotlin with some legacy Java. It scrapes content from animeav1.com (and related sites) using Jsoup and custom JavaScript extraction, bypassing Cloudflare protection via a WebView-based mechanism. The app offers a comprehensive anime tracking experience: browsing a directory, searching, viewing details, watching episodes via ExoPlayer (with Chromecast and Android TV support), downloading (including HLS), managing favorites and watch history, queuing episodes, earning achievements, and syncing user data to Firebase Firestore or Dropbox. It also includes a gamified economy system (loli-coins) and extensive ad integration (AdMob, AppLovin). The architecture follows MVVM with Room database, WorkManager, and coroutines, but suffers from significant technical debt: duplicate UI layouts (material vs. non-material), deprecated libraries (Anko, RxJava, old MaterialDialogs), fragile scraping logic, weak encryption, and hardcoded API keys. Despite these issues, the app is functional and has a large user base (203 stars, 39 forks). It is not a data research project; it is a consumer Android application.

RATING: 6.0/10 MAINT: maintained DRIFT: high
β–Έ 4 reusable components found
ethanashi/fbm-sniper-community β˜… 306 69 APPLICATION

FBM Sniper Community is a desktop application for scraping Facebook Marketplace and other platforms (Wallapop, Vinted, Mercari) to find items for resale/flipping. It consists of an Electron wrapper with an embedded Express web server serving a React-like UI, background worker processes for scraping, and data persistence using JSON/NDJSON/CSV files. The application allows users to configure search targets, view results in real-time, and receive notifications via Discord webhooks. While the core infrastructure (session handling, utilities, UI framework) is well-maintained, several platform-specific scrapers are currently broken due to API changes on the target sites, as noted in the STATUS.md file.

RATING: 5.9/10 MAINT: maintained DRIFT: medium
β–Έ 3 reusable components found
moshstudio/TAICHI-flet β˜… 4741 498 APPLICATION

TAICHI-flet is a Windows desktop application built with the Flet framework, offering a suite of entertainment and productivity tools. The application provides a tabbed interface for browsing wallpapers, searching and playing music, reading novels, searching torrents, and accessing various utilities like PDF-to-Word conversion and COVID risk area lookup. It relies heavily on web scraping from Chinese websites (e.g., hifini.com, zxcs.info, vmgirls.net) to aggregate content, and includes AI features (not fully present in the source code) such as chat, image generation, and video creation. The architecture is monolithic: a single Flet app with views for each tab, and methods modules for data retrieval. The codebase is functional but shows signs of rapid development with minimal abstraction, hardcoded URLs, and limited error handling. The UI is built using Flet's component library, and data flows are synchronous with blocking calls to external APIs. The repository is no longer synced with the latest binary releases, and the source code has several outdated dependencies and deprecated API usage, indicating technical drift. Despite these limitations, the project demonstrates practical use of Flet for building a cross-platform desktop app with rich media capabilities. The scraping modules are well-organized for their purpose, and the video-to-ASCII converter is a standout reusable component. The application serves as a good example of integrating multiple web data sources into a unified desktop interface, particularly for Chinese-language content.

RATING: 5.7/10 MAINT: stale DRIFT: high
β–Έ 2 reusable components found
kangvcar/InfoSpider β˜… 8246 1476 APPLICATION

InfoSpider is a Windows-only desktop application that aggregates personal data from over 20 online services (e.g., GitHub, JD, Taobao, Alipay, Zhihu, Bilibili) using Selenium-based browser automation and a companion Chrome extension. The user launches a wxPython GUI, selects a data source, logs in via an automated Chrome window, and the tool scrapes orders, bills, contacts, posts, and other personal information, saving it as JSON files. Some spiders also generate HTML charts (word clouds, time-series plots) from the scraped data. The repository includes a separate, experimental PyTorch LSTM model for stock price prediction in `tests/DeepAnalysis/`, which is not integrated into the main tool. The codebase is a monolithic collection of spider scripts with a simple GUI wrapper, relying on outdated library versions (Selenium 3.141.0, pandas 1.0.1) and brittle automation patterns (hardcoded selectors, sleep-based waits). It has not seen active development since 2020 and carries significant technical drift and maintenance risks.

RATING: 5.3/10 MAINT: stale DRIFT: medium
liyf-code/reverse_practice β˜… 299 57 APPLICATION

This repository is a collection of web scraping and anti-crawler reverse engineering practice scripts targeting over 40 Chinese websites. Each site has a dedicated folder containing a Python script (demo.py) that orchestrates scraping by executing a JavaScript file (demo.js) via execjs. The JavaScript files implement cryptographic algorithms (AES, RSA, MD5, SHA, etc.) extracted from the target websites to generate request signatures, encrypt passwords, or decrypt responses. The project is primarily a learning resource for reverse engineering techniques, not a production scraping framework. It includes documentation for each case, a changelog tracking API changes, and some utility scripts. The code is ad-hoc, tightly coupled to specific sites, and lacks tests or error handling, making it fragile and high-maintenance. While the individual scripts are functional, they are not reusable without significant adaptation due to hardcoded keys and site-specific logic.

RATING: 4.8/10 MAINT: maintained DRIFT: high
β–Έ 2 reusable components found
cporter202/openclaw-api-list β˜… 202 57 DATA_RESEARCH

This repository is a curated, categorized directory of over 10,000 Apify actors (web scraping and automation APIs), organized into thematic folders (e.g., AI, Jobs, Real Estate, Videos) with affiliate tracking links. It is primarily a static reference catalog intended for integration with the OpenClaw AI assistant, but also includes two Node.js scripts that fetch actor metadata from the Apify Store API and regenerate the markdown files. The repo is a hybrid: the scripts form a simple data pipeline (fetch, filter, generate), while the bulk of the content is a manually curated list. The code quality is basicβ€”scripts are functional but tightly coupled to the Apify API and output format. The value lies in the aggregation and categorization of APIs, not in the software craftsmanship. The list is large but contains duplicates, placeholder entries, and potential staleness due to reliance on third-party actor availability.

RATING: 4.8/10 REPRO: 4.0/10 MAINT: maintained DRIFT: low
β–Έ 2 reusable components found
6dylan6/jdpro β˜… 4500 626 APPLICATION

This repository is a collection of cron-triggered Node.js and Python scripts that automate JD.com (Jingdong) account activities such as daily check-ins, lottery draws, coupon management, price protection, and bean/point collection. It is designed to run on the Qinglong panel (a self-hosted cron scheduler) and manages multiple JD accounts via environment variables. The scripts rely heavily on reverse-engineered JD internal APIs, custom signature generation (H5st), and slider captcha solving. They also include a multi-channel notification system (Bark, Serverchan, Telegram, DingTalk, etc.) and utilities for converting WSKEY tokens to session cookies. The codebase is notable for its extensive use of obfuscation (jsjiami.com.v7) to protect algorithmic logic, making maintenance and audit difficult. Despite this, the repository is actively maintained and has a large user base, but the technical debt from obfuscation, duplicated code, and reliance on external sign services is significant.

RATING: 4.5/10 MAINT: active DRIFT: high
β–Έ 2 reusable components found
geekcomputers/Python β˜… 35255 12925 APPLICATION

This repository is a vast, unstructured collection of over 1000 Python scripts, games, utilities, and a few larger projects (e.g., a deep learning framework called NeuralForge, a voice assistant JARVIS, and a bank management system). It originated as a personal learning/experimentation space and has grown through community contributions. The codebase is highly inconsistent: many scripts are trivial one-liners or beginner exercises, while others (like the assembler, XOR cipher, and some ML components) demonstrate moderate craftsmanship. There is no overarching architecture or design pattern; each file is standalone. The repository includes a wide range of domains: web scraping, GUI apps (tkinter, PyQt), games (pygame, turtle), data structures, sorting algorithms, encryption, and machine learning. However, the majority of scripts lack tests, error handling, and documentation. Several files contain hardcoded credentials, deprecated API usage (e.g., pandas .ix, Python 2 constructs), and security-sensitive code (e.g., brute-force password crackers). The ML framework (NeuralForge) shows ambition with custom CUDA kernels and neural architecture search, but it is incomplete and tightly coupled to its own build system. Overall, this repo is best viewed as a historical archive of Python experiments rather than a production-ready codebase. It may be useful for learning specific patterns or extracting small utilities, but reuse requires careful vetting.

RATING: 4.2/10 MAINT: stale DRIFT: high
β–Έ 3 reusable components found
lryong/tutorials-from-runoob β˜… 200 91 DATA_RESEARCH

This repository is a static archive of programming tutorials scraped from the Chinese tutorial website runoob.com. It contains a single Python 2 script (`download_tutorials.py`) that downloads HTML pages and converts them into offline files, along with the scraped output: a directory of HTML files and PDFs covering over 60 topics (e.g., Python, Java, HTML, CSS). The project is primarily a web scraping and offline learning resource. The scraper uses `urllib2`, `lxml` XPath, and gzip decompression, but it is fragile due to hardcoded site selectors and is only compatible with Python 2. The downloaded HTML files appear incomplete (many contain only `</html>`), suggesting the scraper was broken or the repo was committed mid-run. The frontend assets (CSS, JS) are verbatim copies from the source site. No tests, no CI, no recent maintenance. The project serves as a snapshot of a now-outdated site structure and is not suitable for reuse without significant modernization.

RATING: 3.9/10 REPRO: 4.0/10 MAINT: stale DRIFT: high
β–Έ 1 reusable components found
── end of results ──
$ submit: