RUN ME THIS CODE
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)
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)