Skip to main content

Restrict crawl and scraping scope using matchers.

Project description

https://travis-ci.org/scrapinghub/scrapy-mosquitera.svg?branch=master https://img.shields.io/pypi/v/scrapy-mosquitera.svg?maxAge=2592000 https://img.shields.io/pypi/pyversions/scrapy-mosquitera.svg?maxAge=2592000 https://img.shields.io/pypi/l/scrapy-mosquitera.svg?maxAge=2592000

How can I scrape items off a site from the last five days?

—Scrapy User

That question started the development of scrapy-mosquitera, a tool to help you restrict crawling and scraping scope using matchers.

Matchers are simple Python functions that return the validity of an element under certain restrictions.

The first goal in the project was date matching, but you can create your own matcher for your own crawling and scraping needs.

How it works

In the case where the dates are available in the URLs, you will just use the matcher function directly in your code:

from scrapy_mosquitera.matchers import date_matches

 date = scrape_date_from_url(url)

 if date_matches(data=date, after='5 days ago'):
    yield Request(url=url, callback=self.parse_item)

To handle the case when the date is only available at the time when you scrape the items, scrapy-mosquitera provides a PaginationMixin to control the crawl according to the dates scraped.

Head on to the remaining of the documentation for more details.

Installation

The quick way:

pip install scrapy-mosquitera

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

scrapy-mosquitera-0.1.1.tar.gz (18.4 kB view hashes)

Uploaded Source

Built Distribution

scrapy_mosquitera-0.1.1-py2.py3-none-any.whl (8.7 kB view hashes)

Uploaded Python 2 Python 3

Supported by

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