HTML

    Select a Subtopic

    🗓️ Day 14: Downloading Post Data (Images/Videos)

    🚧 Step 1: Finding the Image URL

    Instagram stores its images and videos in a specific URL format. We'll use Selenium to locate the URLs and extract the image's src attribute.

    from selenium import webdriver
    from selenium.webdriver.common.by import By
    
    # Initialize the driver
    driver = webdriver.Chrome("path/to/chromedriver")
    driver.get("https://www.instagram.com/your_target_profile/")
    
    # Wait for page to load
    driver.implicitly_wait(10)
    
    # Find the first post image
    image = driver.find_element(By.XPATH, '//img[contains(@class, "FFVAD")]')
    image_url = image.get_attribute("src")
    print(f"Image URL: {image_url}")

    🚧 Step 2: Downloading the Image

    Use the requests library to download the image and save it locally as a file.

    import requests
    
    # Download the image
    response = requests.get(image_url)
    
    # Save the image locally
    with open("downloaded_image.jpg", "wb") as file:
        file.write(response.content)
    
    print("Image downloaded successfully!")

    🚧 Step 3: Downloading Multiple Images

    Loop through multiple posts to download more images. This is helpful when scraping images from a profile or a hashtag page.

    # Locate all images on the page
    images = driver.find_elements(By.XPATH, '//img[contains(@class, "FFVAD")]')
    
    # Loop through the images and download them
    for index, img in enumerate(images):
        img_url = img.get_attribute("src")
        response = requests.get(img_url)
        with open(f"image_{index + 1}.jpg", "wb") as file:
            file.write(response.content)
        print(f"Image {index + 1} downloaded!")

    🛠️ Practical Task for Day 14

    • ✅ Scrape and download the first image from a profile.
    • ✅ Create a loop to download the first 5 images from a hashtag page.

    🚀 Next Steps for Day 15

    Tomorrow, we'll start building a GUI for your bot using Tkinter! Ready to bring your bot to life with a desktop interface? 😃