Skip to main content

python package that implement a scraping for israeli supermarket data

Project description

Israel Supermarket Scraper: Clients to download the data published by the supermarkets.

This is a scraper for ALL the supermarket chains listed in the GOV.IL site.

שקיפות מחירים (השוואת מחירים) - https://www.gov.il/he/departments/legalInfo/cpfta_prices_regulations

Unit & Integration Tests CodeQL Pylint Publish Docker image Upload Python Package

🤗 Want to support my work?

Buy Me A Coffee

Daily Automatic Testing

The test suite is scheduled to run daily, so you can see if the supermarket chains have changed something in their interface and the package will not work properly.

Status: Scheduled Tests

Notice:

  • Berekt and Quik are flaky! They will not fail the testing framework, but you can still use them.
  • Some of the scrapers sites are blocked from being accessed from outside of Israel.

Got a question?

You can email me at erlichsefi@gmail.com

If you think you've found a bug:

  • Create issue in issue tracker to see if it's already been reported
  • Please consider solving the issue by yourself and creating a pull request.

What is il_supermarket_scarper?

There are a lot of projects in GitHub trying to scrape the supermarket data, but most of them are not stable or haven't been updated for a while, it's about time there will be one codebase that does the work completely.

You only need to run the following code to get all the data currently shared by the supermarkets.

from il_supermarket_scarper import MainScrapperRunner

scraper = MainScrapperRunner()
scraper.run()

Please notice! Since new files are constantly uploaded by the supermarket to their site, you will only get the current snapshot. In order to keep getting data, you will need to run this code more than one time to get the newly uploaded files.

Quick start

il_supermarket_scarper can be installed using pip:

python3 pip install israeli-supermarket-scraper

If you want to run the latest version of the code, you can install it from the repo directly:

python3 -m pip install -U git+https://github.com/OpenIsraeliSupermarkets/israeli-supermarket-scarpers.git
# or if you don't have 'git' installed
python3 -m pip install -U https://github.com/OpenIsraeliSupermarkets/israeli-supermarket-scarpers/main

Running Docker

The docker is designed to re-run against the same configuration, in every iteration the scraper will collect the files available to download and check if the file already exists before fetching it, either by scanning the dump folder, or checking the mongo/status files.

Build yourself:

docker build -t erlichsefi/israeli-supermarket-scarpers --target prod .

or pull the existing image from docker hub:

docker pull erlichsefi/israeli-supermarket-scarpers:latest

Then running it using:

docker run  -v "./dumps:/usr/src/app/dumps" \
            -e ENABLED_SCRAPERS="BAREKET,YAYNO_BITAN" \   # see: il_supermarket_scarper/scrappers_factory.py
            -e ENABLED_FILE_TYPES="STORE_FILE" \          # see: il_supermarket_scarper/utils/file_types.py
            -e LIMIT=1 \                                  # number of files you would like to download (remove for unlimited)
            -e TODAY="2024-10-23 14:35" \                 # the date to download data from
            erlichsefi/israeli-supermarket-scarpers

Contributing

Help in testing, development, documentation and other tasks is highly appreciated and useful to the project. There are tasks for contributors of all experience levels.

If you need help getting started, don't hesitate to contact me.

Development status

IL SuperMarket Scraper is beta software, as far as i see devlopment stoped until new issues will be found.

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

il_supermarket_scraper-0.5.1.tar.gz (42.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

il_supermarket_scraper-0.5.1-py3-none-any.whl (63.1 kB view details)

Uploaded Python 3

File details

Details for the file il_supermarket_scraper-0.5.1.tar.gz.

File metadata

  • Download URL: il_supermarket_scraper-0.5.1.tar.gz
  • Upload date:
  • Size: 42.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.9.20

File hashes

Hashes for il_supermarket_scraper-0.5.1.tar.gz
Algorithm Hash digest
SHA256 e09629a910c72e8446d03f68cc90a78e6dcdcd34cbffab0b7b32818101a6581d
MD5 43cbd43223b72c8b13022eded9addcdc
BLAKE2b-256 178479151cedbe857e0e4e72ebd821325ff306704b6ff5ce7e07ef56424c7aba

See more details on using hashes here.

File details

Details for the file il_supermarket_scraper-0.5.1-py3-none-any.whl.

File metadata

File hashes

Hashes for il_supermarket_scraper-0.5.1-py3-none-any.whl
Algorithm Hash digest
SHA256 1b17588a2c453d2e2945c74dc0e57d8c194cf29b69f515e6a5a592de70d91413
MD5 42850f03aaa9a36c5301ac08713a7e53
BLAKE2b-256 0256ad10821b1ce154f32e43e3b2ac8c0d1c57d741905d70d5ffa9f4ad976656

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