Skip to main content

Bypass paywall sites: search, discover, and fetch articles as markdown

Project description

bpc-fetch logo

bpc-fetch

Bypass paywall sites — search, discover, and batch fetch articles as Markdown.

中文文档936 SitesFeaturesInstallUsageCredits

LINUX DO Community


What is this?

A command-line tool that fetches full-text articles from 936 paywalled news sites and saves them as clean Markdown with images. It replicates the bypass logic of the Bypass Paywalls Clean browser extension, but runs headlessly — no browser extension needed.

Supported Sites

936 sites across 40+ countries. Highlights:

Category Sites
Financial The Economist, Financial Times, Bloomberg, WSJ, Reuters, Forbes, Business Insider
US News New York Times, Washington Post, LA Times, Chicago Tribune, Politico
UK/EU The Telegraph, The Times, Der Spiegel, Le Monde, El País, Corriere della Sera
Tech/Science Wired, The Atlantic, Nature, Science, Scientific American, MIT Tech Review
Magazines The New Yorker, Vanity Fair, Vogue, National Geographic, Esquire
German 76 sites (FAZ, Handelsblatt, Süddeutsche Zeitung...)
French 69 sites (Le Figaro, Libération, Les Echos...)
More Netherlands 30, Italy 28, Spain 26, Belgium 22, Australia 39...

Run bpc-fetch sites to see the full list.

Features

  • Full bypass coverage — Replicates all BPC extension strategies: custom User-Agent, Googlebot/Bingbot spoofing, referer manipulation, Playwright JS interception, archive.org fallback
  • Auto fallback chain — Each URL tries the optimal strategy, degrades gracefully until content is retrieved
  • Article discovery — Find recent articles via RSS, sitemap, or browser-rendered homepage
  • Cross-site crawl — Search + time filter + batch download in one command
  • Agent-friendly — JSON stdout, stderr progress, next_command hints in every response
  • Windows exe — Single-file distribution via PyInstaller, auto-downloads Chromium on first run

Installation

pip (recommended)

pip install bpc-fetch
playwright install chromium

From source

git clone https://github.com/user/bpc-fetch.git
cd bpc-fetch
pip install -e .
playwright install chromium

Windows exe

Download bpc-fetch.exe from Releases, then:

bpc-fetch.exe install-browser
bpc-fetch.exe doctor

Usage

# Check setup
bpc-fetch doctor

# List supported sites
bpc-fetch sites --filter economist

# Discover today's articles from a site
bpc-fetch discover economist.com --since today

# Fetch a single article
bpc-fetch fetch "https://www.economist.com/leaders/2024/01/01/example" --out-dir ./articles

# Batch fetch from URL list
bpc-fetch batch --file urls.txt --out-dir ./articles

# Cross-site crawl: keyword + time range
bpc-fetch crawl "AI regulation" --sites economist.com,ft.com --since 7d --out-dir ./ai-articles

Output format

article-title/
├── article-title.md      # YAML frontmatter + full text + image refs
└── images/
    ├── img_000_abc1.jpg
    └── img_001_def2.png

Agent integration

All commands output JSON. Use --compact for minimal output:

bpc-fetch discover ft.com --since today --compact
# → {"ok": true, "domain": "ft.com", "count": 15, "articles": [...], "next_command": "bpc-fetch batch ..."}

Bypass Strategies

Strategy Sites Method
ua:custom 7 Custom User-Agent string (Liskov, Google-InspectionTool, etc.)
ua:googlebot 85 Googlebot User-Agent
ua:facebookbot 5 Facebook crawler UA
referer:google 2 Google referer header
block_js 425 Playwright blocks paywall scripts via Page.route()
archive 274 Fetch from archive.org/archive.is
cookies 138 Access without tracking cookies

Building Windows exe

pip install pyinstaller
python build/build_win.py
# Output: dist/bpc-fetch.exe

Credits

This tool is built on top of the bypass logic from:

  • Bypass Paywalls Clean by magnolia1234 — the original browser extension that provides the site database and bypass strategies. All credit for the paywall bypass research goes to the BPC project maintainers.

License

MIT — see LICENSE.

The data/sites.js file is from the Bypass Paywalls Clean project (MIT License).


致谢

本项目的开发 agent 能力由 GenericAgent 提供。

🚩 友情链接

GenericAgent LinuxDo

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

bpc_fetch-0.1.1.tar.gz (762.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

bpc_fetch-0.1.1-py3-none-any.whl (78.7 kB view details)

Uploaded Python 3

File details

Details for the file bpc_fetch-0.1.1.tar.gz.

File metadata

  • Download URL: bpc_fetch-0.1.1.tar.gz
  • Upload date:
  • Size: 762.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.1

File hashes

Hashes for bpc_fetch-0.1.1.tar.gz
Algorithm Hash digest
SHA256 ce3fbaa9d218ae7155cd286217da3f32941a6fdc03c7ec97ddbccb7f0a21aac9
MD5 0f4e244624f4a02642c336f0f9bb3bfd
BLAKE2b-256 97cdedf2c2ba47c030274fe607b2d69304649d917df770807790c323b9f14160

See more details on using hashes here.

File details

Details for the file bpc_fetch-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: bpc_fetch-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 78.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.1

File hashes

Hashes for bpc_fetch-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 0f338853a6aa7491b127847fc498cc891f9b0c6e24a83e91de4b4202b3e9bc48
MD5 a7b5efe745d0496bb92ca329f6697bfb
BLAKE2b-256 daf41b72f809ffc796fd5e688b027fc789ab4cce48362ddff3dc7c6278d57cf1

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page