Code Monkey home page Code Monkey logo

imgcrawler's Introduction

Img-Crawler

Description

Img-Crawler is a GUI application that downloads bulks of images from imgpile.com.
It uses a Custom API i created in python that scraps an album's url and returns every image's details as json data.

Features

  • Download the images in bulk.
  • Modern & User Friendly UI.
  • Easy to use.
  • Scrape today, Download Tommorow Functionality.
  • Download in Multiple Formats.
  • Original Quality Preserved.
  • And more under-the-hood stuff

Usage

NOTE: Executable file is on it's way! and then you won't need to do the steps below!

How to install:

  1. Install Python 3.x
  2. Download or clone this repository on your local machine.
  3. Extract the zip file.
  4. Open terminal in this folder and run pip install -r requirements.txt
  5. Run main.py either from terminal or just by double-clicking it.

How to use:

  • Go to imgpile.com & search for an album.

  • In this demo, I will search for "Ford Mustang". (WARNING: Results may include inappropriate content)
    search_results

  • Now, Copy the url of this album (make sure you are on the first page of this album because the imgpile-scrapper-api starts the scrape from the page you copied the url from). in our case, there's only one page.

  • Open the ImgCrawler application and paste the url in Target URL field. paste_url

  • Click Scrape button and let the app do it's thing! (You can now do other things while this app scrapes the images. It'll let you know when the scrape is finished!)

  • Once scraping is finished, You'll see the images and their properties.
    scraped

  • Click Download button at the bottom-right, a Dialog box will appear asking for some things.
    download_dialog

  • Choose the type of data you want to download (image, json or csv).

  • Choose the quality of images (if image selected)

  • download_dialog_options

  • OR Type in the filename (without extension) for a json or csv file (if json or csv selected)

  • json-format

  • Choose a directory by clicking the button with folder icon.

  • Click Download and let the downloading happen! (Do your thing again! and when the downloading is complete, You'll get notified.)

  • Downloaded Images: images-downloaded

  • Download Json: json-downloaded

Cool Trick: This Demo.json file can now be loaded in the app! allowing you to download the scraped images whenever you want!

Loading Json Files

  • Once you have the json data, you can close the application!
  • Open the application again.
  • Press CTRL+SHIFT+L and select & open the json file when dialog appears. load-json

The file will be loaded in the application and the imnages will start to appear as they load!
This loading will be faster than the actual scraping!

Use the application and let me know if any bugs found! cuz there'll be alot of them!

Project structure

assets
main.py frontend.py backend.py imgpile.py

Libraries used in this project

Third-party

CustomTkinter CTkTooltip Pandas BeautifulSoup Requests Pillow SoupSieve

Built-in

Json Tkinter Threading IO Time OS

imgcrawler's People

Contributors

anas-shakeel avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.