{"id":26610267,"url":"https://github.com/cub1z/wallapop-scrapper","last_synced_at":"2026-04-02T01:47:56.464Z","repository":{"id":283458826,"uuid":"948965949","full_name":"CuB1z/Wallapop-Scrapper","owner":"CuB1z","description":"Simple wallapop scraping integration with a telegram bot.","archived":false,"fork":false,"pushed_at":"2025-07-23T17:12:58.000Z","size":38,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-29T00:34:59.624Z","etag":null,"topics":["automation","python","scraper","selenium-python","telegram-bot","wallapop"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"cc0-1.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/CuB1z.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-03-15T11:20:17.000Z","updated_at":"2025-10-21T10:00:58.000Z","dependencies_parsed_at":null,"dependency_job_id":"870a4e32-02f2-4b7e-9e84-3fb6a0dbc508","html_url":"https://github.com/CuB1z/Wallapop-Scrapper","commit_stats":null,"previous_names":["cub1z/wallapop-scrapper"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/CuB1z/Wallapop-Scrapper","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CuB1z%2FWallapop-Scrapper","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CuB1z%2FWallapop-Scrapper/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CuB1z%2FWallapop-Scrapper/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CuB1z%2FWallapop-Scrapper/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/CuB1z","download_url":"https://codeload.github.com/CuB1z/Wallapop-Scrapper/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CuB1z%2FWallapop-Scrapper/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31294161,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-02T01:43:37.129Z","status":"ssl_error","status_checked_at":"2026-04-02T01:43:36.474Z","response_time":53,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["automation","python","scraper","selenium-python","telegram-bot","wallapop"],"created_at":"2025-03-24T01:38:25.947Z","updated_at":"2026-04-02T01:47:56.427Z","avatar_url":"https://github.com/CuB1z.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🛒 Wallapop Scrapper\n\nWallapop scraper using Selenium for Python, which retrieves products based on a query and allows us to store the products in a database, as well as receive updates via a Telegram bot.\n\n## 📋 Requirements\n\n| Requirement  | Description                                          |\n| ------------ | ---------------------------------------------------- |\n| 🐍 Python   | Python 3.x is required to run the scripts.            |\n| 🗄️ MySQL    | MySQL is the database used to store the scraped data. |\n| 🤖 Telebot  | Telebot is used to send updates via a Telegram bot.   |\n| 🛠️ dotenv   | dotenv is used to manage environment variables.       |\n\n\n## 🤖 How can I set up my Telegram bot?\n\n1. **🔍 Create a new bot on Telegram**\n    - Open Telegram and search for the `BotFather`.\n    - Send the `/newbot` command to create a new bot.\n    - Follow the instructions to set up your bot.\n\n2. **🔑 Get the bot token**\n    - Once the bot is created, you will receive a token.\n    - Copy the token and save it for later.\n\n3. **💬 Create a new group chat**\n    - Create a new group chat where you want to receive the updates.\n    - Add the bot to the group chat.\n\n4. **🆔 Get the chat ID**\n    - Open the following URL in your browser, replacing `\u003cbot_token\u003e` with your bot token:\n      ```\n      https://api.telegram.org/bot\u003cbot_token\u003e/getUpdates\n      ```\n    - Send a message to the group chat.\n    - Refresh the page and look for the `chat` object.\n    - Copy the `id` value and save it for later.\n\n5. **➡️ Continue with the installation steps**\n    \n\n## ⚙️ Installation\n\n### 🪟 Windows\n\n1. **📥 Clone the repository**\n    ```sh\n    git clone https://github.com/CuB1z/wallapop-scrapper\n    cd wallapop-scrapper\n    ```\n\n2. **🐍 Create and activate a virtual environment**\n    ```sh\n    python -m venv .venv\n    .venv\\Scripts\\activate\n    ```\n\n3. **📦 Install the dependencies**\n    ```sh\n    pip install -r requirements.txt\n    ```\n\n4. **🔧 Configure the environment variables**\n    - Copy the `.env.example` file to `.env`:\n      ```sh\n      copy .env.example .env\n      ```\n    - Open the `.env` file and fill in the necessary values:\n      ```properties\n      TELEGRAM_BOT_TOKEN=your_telegram_bot_token\n      CHAT_ID=your_chat_id\n      DB_HOST=your_db_host\n      DB_USER=your_db_user\n      DB_PASSWORD=your_db_password\n      DB_NAME=your_db_name\n      DB_PORT=your_db_port\n      ```\n\n5. **🗄️ Create the table in the database by running the SQL script**\n    ```sh\n    mysql -u \u003cuser\u003e -p \u003cdatabase_name\u003e \u003c wallapop/wallapopTableCreator.sql\n    ```\n\n### 🐧 MacOS and Linux\n\n1. **📥 Clone the repository**\n    ```sh\n    git clone https://github.com/CuB1z/wallapop-scrapper\n    cd wallapop-scrapper\n    ```\n\n2. **🐍 Create and activate a virtual environment**\n    ```sh\n    python3 -m venv .venv\n    source .venv/bin/activate\n    ```\n\n3. **📦 Install the dependencies**\n    ```sh\n    pip install -r requirements.txt\n    ```\n\n4. **🔧 Configure the environment variables**\n    - Copy the `.env.example` file to `.env`:\n      ```sh\n      cp .env.example .env\n      ```\n    - Open the `.env` file and fill in the necessary values:\n      ```properties\n      TELEGRAM_BOT_TOKEN=your_telegram_bot_token\n      CHAT_ID=your_chat_id\n      DB_HOST=your_db_host\n      DB_USER=your_db_user\n      DB_PASSWORD=your_db_password\n      DB_NAME=your_db_name\n      DB_PORT=your_db_port\n      ```\n\n5. **🗄️ Create the table in the database by running the SQL script**\n    ```sh\n    mysql -u \u003cuser\u003e -p \u003cdatabase_name\u003e \u003c wallapop/wallapopTableCreator.sql\n    ```\n\n\n## 🚀 Usage\n\n1. **🛠️ Configure the query params and keywords in the `wallapop/wallapopConfig.json` file**\n    ```json\n    {\n        \"common_params\": {\n            \"category_ids\": 100,\n            \"filters_source\": \"search_box\",\n            \"latitude\": 40.41956,\n            \"longitude\": -3.69196,\n            \"distance\": 200000,\n            \"min_sale_price\": 1000,\n            \"max_sale_price\": 15000,\n            \"min_km\": 10000,\n            \"max_km\": 250000,\n            \"min_year\": 2000,\n            \"max_year\": 2025,\n            \"min_seats\": -1,\n            \"max_seats\": -1,\n            \"min_num_doors\": -1,\n            \"max_num_doors\":-1,\n            \"min_horse_power\": 90,\n            \"max_horse_power\": 200,\n            \"gearbox\": \"manual\",\n            \"engine\": \"gasoline\",\n            \"time_filter\": \"today\",\n            \"order_by\": \"newest\"\n        },\n        \"specific_params\": [\n            { \"brand\": \"peugeot\", \"keywords\": \"207\" }\n        ]\n    }\n    ```\n\n    - `category_ids`: Category ID of the products you want to search for.\n    - `filters_source`: Source of the filters.\n    - `latitude` and `longitude`: Coordinates of the location where you want to search.\n    - `distance`: Distance in meters from the location.\n    - `min_sale_price` and `max_sale_price`: Price range of the products.\n    - `min_km` and `max_km`: Kilometers range of the products.\n    - `min_year` and `max_year`: Year range of the products.\n    - `min_seats` and `max_seats`: Seats range of the products.\n    - `min_num_doors` and `max_num_doors`: Number of doors range of the products.\n    - `min_horse_power` and `max_horse_power`: Horse power range of the products.\n    - `gearbox`: Gearbox type of the products. [automatic, manual]\n    - `engine`: Engine type of the products. [diesel, gasoline]\n    - `time_filter`: Time filter of the products. [today, lastWeek, lastMonth]\n    - `order_by`: Order of the products. [newest, priceAsc, priceDesc]\n\n    - `specific_params`: List of specific parameters for each brand and keywords.\n      - `brand`: Brand of the products.\n      - `keywords`: Keywords of the products.\n\n    If you want to ignore any of the parameters, you can set them to `-1`.\n\n2. **📝 Feel free to modify the `main.py` params present at the top of the file**\n    ```python\n    # Database table where the products will be stored\n    PRODUCTS_TABLE = \"products\"\n\n    # Configuration file path\n    CONFIG_FILE = \"./wallapop/wallapopConfig.json\"\n\n    # Interval in minutes to check for new products\n    INTERVAL = 20\n    ```\n\n3. **▶️ Once everything is set up, run the script**\n    ```sh\n    python main.py\n    ```\n\n\n## 👨‍💻 Developers\n\n| Name            | Linkedin                                                 | GitHub                                       |\n| --------------- | -------------------------------------------------------- | -------------------------------------------- |\n| Daniel Santos   | [Daniel Santos](https://www.linkedin.com/in/danisntoss/) | [@danisntoss](https://github.com/danisntoss) |\n| Diego Sánchez   | [Diego Sánchez](https://www.linkedin.com/in/cub1z/)      | [@cub1z](https://github.com/cub1z)           |\n\n\n## 📜 License\n\nThis project is licensed under a Creative Commons CC0 1.0 Universal License.\n\nYou should have received a copy of the license along with this work. If not, see [https://creativecommons.org/publicdomain/zero/1.0/](https://creativecommons.org/publicdomain/zero/1.0/).\n\n---","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcub1z%2Fwallapop-scrapper","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcub1z%2Fwallapop-scrapper","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcub1z%2Fwallapop-scrapper/lists"}