ΜΑΝΩΛΗΣ1 Δημοσ. 14 Νοεμβρίου 2023 Δημοσ. 14 Νοεμβρίου 2023 Δεν ξερω απο προγραμματισμό να τονίσω απλα ψαχνω μια λύση που μπορει να γλυτώσει μια δουλεια 20 ημερων Εχουμε ενα URL Α το οποίο έχει και ενα πεδίο αναζήτησης με βάση τον κωδικό του προιοντος Εχουμε μια λίστα με 500 κωδικούς προιοντος Ποσο εύκολο ειναι και με τι τροπο να πάει το εκάστοτε script να ψάξει αυτούς τους 500 κωδικούς και να σώσει τις photos των εκάστοτε urls?
Xvipes Δημοσ. 14 Νοεμβρίου 2023 Δημοσ. 14 Νοεμβρίου 2023 Αν δεν ξέρεις προγραμματισμό δεν είναι εύκολο, αν ξέρεις είναι νορμάλ. Θες να πεις το site μήπως γίνεται και χωρίς script?
ΜΑΝΩΛΗΣ1 Δημοσ. 14 Νοεμβρίου 2023 Μέλος Δημοσ. 14 Νοεμβρίου 2023 12 λεπτά πριν, Xvipes είπε Αν δεν ξέρεις προγραμματισμό δεν είναι εύκολο, αν ξέρεις είναι νορμάλ. Θες να πεις το site μήπως γίνεται και χωρίς script? Αν θες στο στέλνω με pm. Προσπαθω να βρω γρηγορες λύσεις για κατι που απαιτεί αρκετό χρόνο και μια θέληση να βοηθήσω συναδέλφους που δεν εχουν χρονο να βγάλουν κατι σε λιγότερο χρόνο... 1
SOADNICK Δημοσ. 14 Νοεμβρίου 2023 Δημοσ. 14 Νοεμβρίου 2023 Στείλε και σε μένα να ρίξω μια ματιά μήπως βρω τίποτα
archer100 Δημοσ. 14 Νοεμβρίου 2023 Δημοσ. 14 Νοεμβρίου 2023 Στειλε και σε μενα. Λογικα θα χρειαστεις κατι σε Selenium
SOADNICK Δημοσ. 17 Νοεμβρίου 2023 Δημοσ. 17 Νοεμβρίου 2023 (επεξεργασμένο) Μια απλή λύση χωρίς να μπλέκω με scrapy κλπ για να γίνει όπως πρέπει. Κάνει τη δουλεία του λίγο που το δοκίμασα. Πιστεύω έχεις άδεια από τον διαχειριστή του σάιτ για να του ταλαιπωρήσεις τον σέρβερ, αν και μάλλον δεν είναι και τραγικά πολλά τα requests για 500 προϊόντα. Παίρνει λίγο καθαρογράψιμο αλλά δε βαριέσαι ώρα που 'ναι. Spoiler import requests from bs4 import BeautifulSoup def download_product_info(product_page_path, product_code): response = requests.get(f"TO BASE URL TOU SITE{product_page_path}") if response.status_code != 200: print(f"Error loading product's {product_code} page.") return inner_soup = BeautifulSoup(response.text, 'html.parser') # Download product's image gallery_slider_div = inner_soup.find("div", {"class": "itemdetail__gallery__slider"}) label_tag = gallery_slider_div.find("label", {"for": "gallery-tab0"}) if label_tag and 'data-src' in label_tag.attrs: img_url = label_tag['data-src'] img_type = img_url.split('.')[-1] img_response = requests.get(img_url) if img_response.status_code != 200: print(f"Error downloading product's {product_code} image.") return with open(f"images/{product_code}.{img_type}", 'wb') as img_file: img_file.write(img_response.content) # Download product's datasheets tbody_element = inner_soup.find('div', id='tab-content3') if not tbody_element: print(f"Error downloading product's {product_code} datasheet.") return datasheets = tbody_element.find_all('td', class_='datatable__body__item', attrs={'data-title': True}) for datasheet in datasheets: datasheet_url = datasheet.find('a')['href'] datasheet_name = datasheet["data-title"] datasheet_response = requests.get(datasheet_url) if datasheet_response.status_code != 200: print(f"Error downloading product's {product_code} datasheet.") return with open(f"datasheets/{product_code} - {datasheet_name}.pdf", 'wb') as datasheet_file: datasheet_file.write(datasheet_response.content) def get_product_page(product_code): search_url = "TO URL THS SEARCH BAR" params = {'q': product_code} response = requests.post(search_url, params=params) if response.status_code != 200: print(f"Product with code: {product_code} not found.") return soup = BeautifulSoup(response.text, 'html.parser') first_search_result = soup.find('div', class_='itemlist__item__row-image') if not first_search_result: print(f"Error getting product's {product_code} page.") return a_tag = first_search_result.find('a') if a_tag and 'href' in a_tag.attrs: return a_tag['href'].split('?')[0] print(f"Error getting product's {product_code} page.") return if __name__ == "__main__": with open("products.txt") as input_file: product_codes = [line.strip() for line in input_file] for code in product_codes: product_page = get_product_page(code) download_product_info(product_page, code) Για input θέλει ένα κωδικό ανά γραμμή εντός του αρχείου "products.txt" Επεξ/σία 17 Νοεμβρίου 2023 από SOADNICK spoiler
ΜΑΝΩΛΗΣ1 Δημοσ. 19 Νοεμβρίου 2023 Μέλος Δημοσ. 19 Νοεμβρίου 2023 (επεξεργασμένο) Καλησπέρα, ευχαριστώ για την βοήθεια , θα το κοιτάξω μεσα στις επομενες μερες γιατι πιεζει ο χρονος σίγουρα Το θέμα ειναι οτι το τωρινό erp και το τωρινό b2b ειναι αρκετά κουλουβάχατα στις υπάρχουσες κατηγορίες Εχω φτιαξει και εχω ξεχωρίσει 4400 ειδη περίπου τα οποία ηταν σε καμια 20αρια-25αρια κατηγορίες πριν (και τωρα που μιλάμε δηλαδη) Τα εχω βαλει σε excel sheets ανα νέα κατηγορία (10 κεφαλικές κατηγορίες στο νεο πρόγραμμα /b2b) και φτιάχνουμε με τους συναδέλφους υποκατηγορίες (μεχρι 2 max) και ενα δευτερο sheet με τα χαρακτηριστκά των ειδών (φιλτρα οπως μηκος, ακροδεκτης α , β , ανάλυση κλπ) Συν ενα excel Που το εχω πάρει επ'ωμου με ολα τα βάρη και τα taric codes , φορους ανακύκλωσης κλπ Ειναι επίπονη δουλεια γενικά αλλα πιστευω οτι θα προλάβουμε Ευχαριστώ και μιλάμε Επεξ/σία 19 Νοεμβρίου 2023 από ΜΑΝΩΛΗΣ1
Billator Δημοσ. 20 Νοεμβρίου 2023 Δημοσ. 20 Νοεμβρίου 2023 20 ώρες πριν, ΜΑΝΩΛΗΣ1 είπε Καλησπέρα, ευχαριστώ για την βοήθεια , θα το κοιτάξω μεσα στις επομενες μερες γιατι πιεζει ο χρονος σίγουρα Το θέμα ειναι οτι το τωρινό erp και το τωρινό b2b ειναι αρκετά κουλουβάχατα στις υπάρχουσες κατηγορίες Εχω φτιαξει και εχω ξεχωρίσει 4400 ειδη περίπου τα οποία ηταν σε καμια 20αρια-25αρια κατηγορίες πριν (και τωρα που μιλάμε δηλαδη) Τα εχω βαλει σε excel sheets ανα νέα κατηγορία (10 κεφαλικές κατηγορίες στο νεο πρόγραμμα /b2b) και φτιάχνουμε με τους συναδέλφους υποκατηγορίες (μεχρι 2 max) και ενα δευτερο sheet με τα χαρακτηριστκά των ειδών (φιλτρα οπως μηκος, ακροδεκτης α , β , ανάλυση κλπ) Συν ενα excel Που το εχω πάρει επ'ωμου με ολα τα βάρη και τα taric codes , φορους ανακύκλωσης κλπ Ειναι επίπονη δουλεια γενικά αλλα πιστευω οτι θα προλάβουμε Ευχαριστώ και μιλάμε Αν οι περισσότερες πληροφορίες υπάρχουν στο υπάρχων export από το erp, τότε κάποιος που ασχολείται με το κομμάτι του data processing των προϊόντων ( αρκεί να είναι αρκετά efficient σε Excel ή Google sheet), θα μπορούσε να σας τα ετοιμάσει όλα σε 1-2 μέρες, όπως να βάλει αυτόματα πληροφορίες σε όσα σημεία είναι δυνατόν. Επειδή έκανα αρκετούς μήνες κάτι τέτοιο σε πολύ μεγαλύτερους καταλόγους (μιλάμε για χάλια erp συστήματα με 40-50,000 κωδικούς ή σε κατασκευαστές που δεν είχαν καν κατάλογο ηλεκτρονικό) μπορείς το 95% της δουλειά να το κάνεις μαζικά και να χρειαστεί μόνο το 5% manual, γιατί δεν υπάρχει οποιοσδήποτε τρόπος συσχέτισης. Και μετά τα νέα διορθωμένα δεδομένα τα εκχωρείς εκ νέου στο νέο πρόγραμμα. Μπορείς να κάνεις re-create μέχρι και τα ονόματα / περιγραφές αυτοματοποιημένα για ομοιομορφία στον κατάλογο. Οπότε αντί να εκχωρείτε manual τιμές δείτε λογικές ομαδοποίησης για αυτόματο import πληροφοριών και αφήστε το manual στο τέλος. Η λογική αυτή θα σας βοηθήσει όμως και όταν χρειάζεστε να δημιουργήσετε νέα προιόντα οπότε είναι κάτι που θα μείνει. Μπορεί να γίνει όλο αυτό και με κώδικα αλλα θεωρώ ότι το excel είναι πολύ πιο doable για αυτούς που δεν ασχολούνται με προγραμματισμό. 1
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα