diff --git a/logger.txt b/logger.txt index 51b9918..97a1ba2 100644 --- a/logger.txt +++ b/logger.txt @@ -293,6 +293,7 @@ amazon query:Iphone amazon query:Iphone amazon query:Iphone amazon query:Iphone +<<<<<<< HEAD amazon query:iPad amazon query:iPad amazon query:iPad @@ -316,3 +317,10 @@ amazon query:iPad amazon query:iPad amazon query:iPad amazon query:iPad +======= +amazon query:iphone +amazon query:iphone +amazon query:iphone +amazon query:iphone +amazon query:iphone +>>>>>>> 193d9b395c989284203bd4d60446536812830a5e diff --git a/slash_user_interface.py b/slash_user_interface.py index af2bb1e..c1c3196 100644 --- a/slash_user_interface.py +++ b/slash_user_interface.py @@ -9,8 +9,9 @@ import sys sys.path.append('../') import streamlit as st -from src.main_streamlit import search_items_API +from src.main_streamlit import search_items_API, rakuten from src.url_shortener import shorten_url +import src.configs as conf import pandas as pd import re import streamlit @@ -69,7 +70,7 @@ def split_description(description): title = """
SHOPSYNC
-

Get the Best Deals At Ease

+

Discover unparalleled savings effortlessly.

""" st.markdown(footer,unsafe_allow_html=True) diff --git a/src/configs.py b/src/configs.py index d7fabe2..c4abbce 100644 --- a/src/configs.py +++ b/src/configs.py @@ -153,3 +153,13 @@ def scrape_ebay(query): CONFIGS = [WALMART, AMAZON, COSTCO, BESTBUY] + +def getRakutenList(): + cashback = [10, 0, 1, 4, 1, 0] + return cashback + +def getCompanies(): + companies = ["walmart", "amazon", "ebay", "bestbuy", "target", "costco"] + return companies + + diff --git a/src/configs_mt.py b/src/configs_mt.py index 8f929a7..2b68bf2 100644 --- a/src/configs_mt.py +++ b/src/configs_mt.py @@ -53,11 +53,11 @@ BESTBUY = { 'site': 'bestbuy', 'url': 'https://www.bestbuy.com/site/searchpage.jsp?st=', - 'item_component': 'li', + 'item_component': 'div', 'item_indicator': { - 'class': 'sku-item' + 'class': 'embedded-sku' }, - 'title_indicator': 'h4.sku-header a', + 'title_indicator': 'h4.sku-title a', 'price_indicator': 'div.priceView-customer-price span', 'link_indicator': 'a.image-link', } diff --git a/src/main.py b/src/main.py index 4cd7bc2..28d717c 100644 --- a/src/main.py +++ b/src/main.py @@ -16,6 +16,9 @@ from pydantic import BaseModel import csv import nest_asyncio +import sys +import os +sys.path.append(os.path.abspath("Slash")) # local imports import scraper_mt as scr diff --git a/src/main_streamlit.py b/src/main_streamlit.py index f82bbe8..0126a4a 100644 --- a/src/main_streamlit.py +++ b/src/main_streamlit.py @@ -7,9 +7,15 @@ from typing import Optional from pydantic import BaseModel +from bs4 import BeautifulSoup +import requests # local imports import src.scraper_mt as scr +from src.configs import getRakutenList, getCompanies + +cashback = getRakutenList() +companies = getCompanies() # response type define class jsonScraps(BaseModel): @@ -76,3 +82,20 @@ def search_items_API( else: # No results return None + +def rakuten(): + for i in range(len(companies)): + url = "https://www.rakuten.com/search?term=" + companies[i] + response = requests.get(url) + # Check if the request was successful (status code 200) + if response.status_code == 200: + # Parse the HTML content of the page + soup = BeautifulSoup(response.text, 'html.parser') + # Find the element containing the cashback information + cashback_element = soup.find('div', {'class': 'css-1i7dpco'}) # Adjust the class based on the actual HTML structure + if cashback_element: + # Extract the cashback value + cashback_value = cashback_element.text.strip() + if (cashback_value): + cashback[i] = cashback_value + return cashback \ No newline at end of file diff --git a/src/scraper_mt.py b/src/scraper_mt.py index e526245..28ead0b 100644 --- a/src/scraper_mt.py +++ b/src/scraper_mt.py @@ -11,6 +11,10 @@ from datetime import datetime from threading import Thread +import sys +import os +sys.path.append(os.path.abspath("Slash")) + # local imports import formattr as form from configs_mt import AMAZON, WALMART, COSTCO, BESTBUY, scrape_ebay, scrape_target