Skip to main content

Web address blacklist/whitelist library for Python

Project description

A library for querying custom and third party web address blacklists and whitelists.

Features

  • client classes for Google Safe Browsing Lookup API and hpHosts services

  • support for custom DNSBL service clients

  • preconfigured clients for SURBL, Spamhaus ZEN and Spamhaus DBL

  • support for querying and populating custom host whitelists and blacklists

  • combining multiple URL testers into a composite tester

  • optional querying for redirect URL addresses when using a composite URL tester

  • support for Python 2 and 3

Usage

Simple test for membership of a host value in a host blacklist:

>>> from spam_lists import SPAMHAUS_DBL
>>> 'dbltest.com' in SPAMHAUS_DBL
True

lookup(host_value) method returns a named tuple containing:

  • a listed host that is a parent of a searched domain, or a listed ip address equal to one searched in the blacklist

  • source of the returned information as an instance of the client used to search for the value

  • a set of classificiation terms associated with the value

>>> SPAMHAUS_DBL.lookup('dbltest.com')
AddressListItem(value=u'dbltest.com', ...)

Testing if there is any spam URL in a sequence:

>>> urls_to_test = (
'http://google.com',
'http://wikipedia.org',
'http://dbltest.com'
)
>>> SPAMHAUS_DBL.any_match(urls_to_test)
True

Filtering recognized spam URLs out of a sequence of values returns a generator object that yields the spam URLs:

>>> result = SPAMHAUS_DBL.filter_matching(urls_to_test)
>>> result
<generator object <genexpr> at 0xb4f60a7c>
>>> list(result)
['http://dbltest.com']

Calling lookup_matching(urls) returns a generator object yielding instances of the AddressListItem named tuple for matching URLs:

>>> result = SPAMHAUS_DBL.lookup_matching(urls_to_test)
>>> result
<generator object lookup_matching at 0xb4f60e3c>
>>> list(result)
[AddressListItem(value=u'dbltest.com', ...)]

For further information, read spam_lists package docstring.

Installation

Install using pip:

$ pip install spam-lists

To be able to run tests, install test extras:

$ pip install spam-lists[test]

License

MIT

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

spam-lists-1.0.0.tar.gz (30.8 kB view details)

Uploaded Source

File details

Details for the file spam-lists-1.0.0.tar.gz.

File metadata

  • Download URL: spam-lists-1.0.0.tar.gz
  • Upload date:
  • Size: 30.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for spam-lists-1.0.0.tar.gz
Algorithm Hash digest
SHA256 956e6a6364904a5bc06d8772f87dcd9c9783ef29f3fcb5f3990d06b370b329dd
MD5 448534c31f06a7fd85ed8c808d490df3
BLAKE2b-256 16f19c6b31a486f87d4f20c73acf47c8abeff8801970d71ac7f409ad03e67d59

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