ekriksi Δημοσ. 15 Νοεμβρίου 2016 Δημοσ. 15 Νοεμβρίου 2016 παιδιά πειραματίζομαι με python και προφανώς κόλλησα τρέχω έναν κώδικα που βρήκα στο ίντερνετ σε τερματικό και παίρνω error (δείτε την εικόνα που έβαλα) from selenium import webdriver from selenium.webdriver.common.keys import Keys import csv base_url='url' with open('lawyers.csv', 'w') as f:file = csv.writer(f) file.writerow(["test"]) chrome_path=r"path\chromedriver_win32\chromedriver.exe" driver=webdriver.Chrome(chrome_path) driver.get(base_url) elem = browser.find_element_by_name('STATE') elem.send_keys('SC') browser.find_element_by_xpath("//input[@type='button']").click() while browser.find_elements_by_xpath("/html/body/table/tbody/tr/td/table[1]/tbody/tr/td[3]/a"): for i in xrange(1, 16): try: info = browser.find_element_by_xpath("//tr[{0}]/td[1]/a".format(i)) info.click() try: lawyers = str(browser.find_element_by_xpath("/html/body/table/tbody/tr/td/table/tbody/tr[1]/td[2]").text) ls = [lawyer.strip().split(',') for lawyer in lawyers.splitlines()] file.writerow([''.join(ls[0]), ''.join(ls[1]), ''.join(ls[2]), ''.join(ls[4]), ''.join(ls[5]), ''.join(ls[6])]) except: pass browser.back() except: pass try: centers = browser.find_element_by_xpath("/html/body/table/tbody/tr/td/table[1]/tbody/tr/td[3]/a").click() except: pass
anon667 Δημοσ. 15 Νοεμβρίου 2016 Δημοσ. 15 Νοεμβρίου 2016 Δοκίμασες να googlάρεις το error που σου βγάζει; Μπορεί να είναι και το πρώτο αποτέλεσμα (πιθανολογώ εγώ τώρα).
Luciddream Δημοσ. 15 Νοεμβρίου 2016 Δημοσ. 15 Νοεμβρίου 2016 Σίγουρα είναι πρόβλημα του identation όπως σου γράφει, αλλά απο εκεί και πέρα τα xpath σου με προβληματίζουν...
ekriksi Δημοσ. 15 Νοεμβρίου 2016 Μέλος Δημοσ. 15 Νοεμβρίου 2016 το googlara κάτι βρήκα αλλά δεν μπορώ να καταλάβω τι φταίει για να το φτιάξω!
anon667 Δημοσ. 15 Νοεμβρίου 2016 Δημοσ. 15 Νοεμβρίου 2016 Ο κώδικας σου είναι όπως τον έκανες copy/paste εδώ στο φόρουμ ή το indentation είναι διαφορετικό στο μηχάνημα σου;
Moderators Kercyn Δημοσ. 15 Νοεμβρίου 2016 Moderators Δημοσ. 15 Νοεμβρίου 2016 Στην python, επειδή δεν υπάρχουν ούτε braces ούτε end ούτε τίποτα άλλο, το indentation έχει σημασία για να ξέρει ο κώδικας πού αρχίζει και τελειώνει τι.
ekriksi Δημοσ. 15 Νοεμβρίου 2016 Μέλος Δημοσ. 15 Νοεμβρίου 2016 ξανά ανεβάζω τον κώδικα τώρα το error βγαίνει στο τέλος δείτε στην φώτο from selenium import webdriver from selenium.webdriver.common.keys import Keys import csv base_url = 'https://www.g' with open('lawyers.csv', 'w') as f: file = csv.writer(f) chrome_path=r"path\chromedriver_win32\chromedriver.exe" driver=webdriver.Chrome(chrome_path) driver.get(base_url) browser.get(base_url) elem = browser.find_element_by_name('STATE') elem.send_keys('SC') browser.find_element_by_xpath("//input[@type='button']").click() while browser.find_elements_by_xpath("/html/body/table/tbody/tr/td/table[1]/tbody/tr/td[3]/a"): for i in xrange(1, 16): try: info = browser.find_element_by_xpath("//tr[{0}]/td[1]/a".format(i)) info.click() try: lawyers = str(browser.find_element_by_xpath("/html/body/table/tbody/tr/td/table/tbody/tr[1]/td[2]").text) ls = [lawyer.strip().split(',') for lawyer in lawyers.splitlines()] file.writerow([''.join(ls[0]), ''.join(ls[1]), ''.join(ls[2]), ''.join(ls[4]), ''.join(ls[5]), ''.join(ls[6])]) except: pass browser.back() except: pass try: centers = browser.find_element_by_xpath("/html/body/table/tbody/tr/td/table[1]/tbody/tr/td[3]/a").click() except: pass
tsofras Δημοσ. 15 Νοεμβρίου 2016 Δημοσ. 15 Νοεμβρίου 2016 Μην ακουστεί ειρωνικό αλλά απο τα πρώτα πράγματα που πρέπει να κάνεις όταν μαθαίνεις μία γλώσσα προγραμματισμού είναι να μάθεις να καταλαβαίνεις τα compilation errors. Γνώμη μου παράτα αυτό που κάνεις και γράψε 5 - 6 προγραμματάκια με λούπες που τυπώνουν αριθμούς , λεκτικά ότι γουστάρεις με if, for , while κτλ. για να τα μάθεις και μετά προχωράς
ekriksi Δημοσ. 15 Νοεμβρίου 2016 Μέλος Δημοσ. 15 Νοεμβρίου 2016 καλά ναι έχεις δίκιο σε αυτό καθόλου ειρωνικό δεν είναι, άπλα δοκίμασα να τρέξω πρώτα κάτι να δω τι παίζει
Moderators Kercyn Δημοσ. 15 Νοεμβρίου 2016 Moderators Δημοσ. 15 Νοεμβρίου 2016 Ξαναδιάβασε τις απαντήσεις και ιδιαίτερα αυτή του anon667.
ekriksi Δημοσ. 15 Νοεμβρίου 2016 Μέλος Δημοσ. 15 Νοεμβρίου 2016 Από εδώ πήρα των κώδικα http://blablup.com/posts/extraction-lawyers-data-from-south-carolina-bar-site.html Ο δεύτερος κώδικας που έβαλα είναι όπως και στο μηχάνημα μου
tsofras Δημοσ. 15 Νοεμβρίου 2016 Δημοσ. 15 Νοεμβρίου 2016 Πάντως για να μην σε βασαίζουμε , αν και δεν ξέρω python ο κώδικας που έχεις κάνει δεν έχει σωστό indentation το τελευταίο except σε ποιο try αναφέρεται? Αυτά πρέπει να μπούν κάτω απο το τελευταίο try μάλλον centers = browser.find_element_by_xpath("/html/body/table/tbody/tr/td/table[1]/tbody/tr/td[3]/a").click()except: pass Edit: Είδα το site πρέπει να το τελεταίο try να μετακινηθεί στην αρχή (σύμφωνα με το site) Edit2 : Και να κάνει compile ο κώδικας , δεν θα παίξει γιατί δεν υπάρχει η σελίδα του tutorial
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα