Skip to main content

Web scrapping API for selected stores

Project description

StoreScrapper provides a convenient API to obtain product information from a variety of stores. Typical usage of the library is as follows:

#!/usr/bin/env python

from storescrapper.stores import Sym

for url, product in Sym.products(['VideoCard', 'Processor']).items():
    print url
    if product:
        print product
    else:
        print 'Not available'
    print

Features

  • Obtain name, URL and price for many of the stores in the market in a straighforward way.

  • Obtain only the types of products you need.

  • Easily extensible with new stores and product types that plug-in into the existing framework.

  • Leverage the power of asynchronous tasks using Celery to speed-up the scrapping process ten-fold.

  • Never used Celery before? You can get up and running in minutes.

Installation

The easiest way to install storescrapper is using pip:

pip install storescrapper

Otherwise you can download the tar.gz source, extract its contents and install the library directly. But first let’s make sure everything works as expected:

python setup.py test

Don’t worry if you get a TypeError exception at the end, just make sure all the tests pass.

After that build and install the library (you may need superuser privileges for the second command):

python setup.py build
python setup.py install

Using StoreScrapper in Linux

  1. Install the RabbitMQ server with your distribution package manager (Fedora yum in this case):

    sudo yum install rabbitmq-server

    Note for Ubuntu users: The RabbitMQ server included with the distribution is extremely dated and incompatible, with the current version of celery / kombu. Install RabbitMQ from another source.

  2. Install the StoreScrapper package:

    sudo pip install storescrapper
  3. In an empty directory, create a celeryconfig.py file with the following contents:

    BROKER_URL = 'amqp://guest:guest@localhost/'
    CELERY_RESULT_BACKEND = 'amqp'
    CELERY_IMPORTS = [
        'storescrapper.store'
        ]
    CELERYD_CONCURRENCY = 20
    CELERY_TASK_PUBLISH_RETRY = True
  1. Open three terminals at the same time on this directory. On the first one execute:

    sudo rabbitmq-server

    On the second one execute:

    celeryd -l info

    On the third one open a Python shell and write the following commands to print the video cards and processors from Sym:

    from storescrapper.stores import Sym
    
    for url, product in Sym.products(['VideoCard', 'Processor']).items():
        print url
        if product:
            print product
        else:
            print 'Not available'
        print
  2. In one or two minutes this will return all of the products in the store with the current products types. You can check the progress on the shell that is running celeryd.

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

storescrapper-0.1.6.tar.gz (26.6 kB view hashes)

Uploaded Source

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