RUN ME THIS CODE

Job ID: 37259066

Budget: ₹1,500 – ₹12,500 INR

import pandas as pd
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
import requests
from PIL import Image
from io import BytesIO
import base64

# Read the URLs and scrape quantities from the CSV file
url_data = pd.read_csv("urls.csv")

PATH = "C:\Program Files (x86)\chromedriver.exe"
driver = webdriver.Chrome(PATH)

# Initialize an empty list to store all scraped data
all_data = []

# Loop through each row in the CSV file
for index, row in url_data.iterrows():
url = row['URL']
scrape_quantity = int(row['ScrapeQuantity'])

driver.get(url)

try:
content = WebDriverWait(driver, 10).until(
EC.presence_of_element_located((By.ID, "lay-lft"))
)

suppliers = content.find_elements_by_class_name("lst_cl")

for _ in range(scrape_quantity):
scraped_data = {}

for supplier in suppliers:
scraped_data['Company'] = supplier.find_element_by_class_name("gcnm").text
scraped_data['Address'] = supplier.find_element_by_class_name("clg").text
scraped_data['Precise_add'] = supplier.find_element_by_class_name("cty-t").get_attribute("innerText")
scraped_data['Phone_no'] = supplier.find_element_by_css_selector(".bo").get_attribute("innerText")

item = [item.find_element_by_class_name("gpnm").text for item in supplier.find_elements_by_class_name("cp5")]
scraped_data['Items'] = item

# Find the image element and download the image
img_element = supplier.find_element_by_css_selector(".img")
img_url = img_element.get_attribute("src")
img_data = requests.get(img_url).content

# Encode the image data as base64
img_base64 = base64.b64encode(img_data).decode('utf-8')
scraped_data['ImageBase64'] = img_base64

all_data.append(scraped_data)

finally:
driver.quit()

# Create a Pandas DataFrame from the list of scraped data
supplier_det = pd.DataFrame(all_data)

# Export the DataFrame to a CSV file
supplier_det.to_csv("sup_det.csv", index=False)
Related categories: Python LiveCode