/ddg-bangs

DuckDuckGo bangs scraper and registry

Primary LanguagePythonMIT LicenseMIT

DuckDuckGo Bangs

Scraper and complete registry for DuckDuckGo's bangs. The complete list of bangs can be found here.

To generate/update the registry, just run

$ make

A full scraping is done the first time you run this, and results are cached in data/bangs.db, a SQLite database. Further runs are incremental.

Note that network problems (including temporary rate limiting from DDG's server side) could result in intermittent failures, in which case you will see "Error resolving !" messages. As long as the given bang is still valid (use bin/bangs open <bang> to test in your browser), just retry after a while; if a bang is being tried but in fact not valid, add it to data/blacklist.txt.

Run

$ bin/bangs --help

for more details.

Why

@jarun inadvertently presented me a challenge when he introduced to me his ddgr, to which he compared to googler:

... I am absolutely enjoying the DuckDyckGo Bang feature right from the terminal. ​Bangs allow you to native search ANY website, something we can never have with googler ...

Challenge accepted ;)

Some time later, out came this registry which could be plugged into any command line search tool.