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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.