JOHNYS22031990 Δημοσ. 18 Μαρτίου 2013 Δημοσ. 18 Μαρτίου 2013 Παιδιά έχω να κάνω μια άσκηση που λέει:Να δημιουργήσω πρόγραμμα σε Python το οποίο θα προσομοιώνει τη λειτουργία ενός "Web Crawler".Συγκεκριμένα, ένα αρχείο mycrawl.py το οποίο θα δέχεται μεταβλητό αριθμό ορισμάτων (διευθύνσεις url) από το χρήστη της μορφής:>>> mycrawl.py url1 url2 ... urlnόπου url = (π.χ.) http://www.python.org/και θα εκτελεί τα ακόλουθα:1. θα σώζει σε html μορφή τα url του χρήστη στο ίδια directory με το εκτελέσιμο2. θα σώζει επιπλέον τα αντικείμενα στα οποία δείχνουν τα αρχικά url του χρήστη μέσω υπερσυνδέσμων (δηλαδή τα <α> HTML tags)Επίσης 8α πρέπει να τρέχει σε οποιοδήποτε υπολογιστή που έχει εγκαταστημένη python δηλαδή θα γίνεται import τις σωστές βιβλιοθήκες ή θα τις εγκαθιστάτε δυναμικά. exo kanei to kodika ειναι σωστος? class Spider(HTMLParser): def __init__(self, starting_url, depth, max_span): HTMLParser.__init__(self) self.url = starting_url self.db = {self.url: 1} self.node = [self.url] self.depth = depth # recursion depth max self.max_span = max_span # max links obtained per url self.links_found = 0 def handle_starttag(self, tag, attrs): if self.links_found < self.max_span and tag == 'a' and attrs: link = attrs[0][1] if link[:4] != "http": link = '/'.join(self.url.split('/')[:3])+('/'+link).replace('//','/') if link not in self.db: print "new link ---> %s" % link self.links_found += 1 self.node.append(link) self.db[link] = (self.db.get(link) or 0) + 1 def crawl(self): for depth in xrange(self.depth): print "*"*70+("\nScanning depth %d web\n" % (depth+1))+"*"*70 context_node = self.node[:] self.node = [] for self.url in context_node: self.links_found = 0 try: req = urlopen(self.url) res = req.read() self.feed(res) except: self.reset() print "*"*40 + "\nRESULTS\n" + "*"*40 zorted = [(v,k) for (k,v) in self.db.items()] zorted.sort(reverse = True) return zorted if __name__ == "__main__": spidey = Spider(starting_url = 'http://www.7cerebros.com.ar', depth = 5, max_span = 10) result = spidey.crawl() for (n,link) in result: print "%s was found %d time%s." %(link,n, "s" if n is not 1 else "")
pmav99 Δημοσ. 18 Μαρτίου 2013 Δημοσ. 18 Μαρτίου 2013 exo kanei to kodika ειναι σωστος? Τον ετρεξες; ps. Βαλε code tags. 1
Star_Light Δημοσ. 18 Μαρτίου 2013 Δημοσ. 18 Μαρτίου 2013 Κάποιος του τον έδωσε για αυτο και λεει έχω δεν λεει έχω γραψει εγω
JOHNYS22031990 Δημοσ. 18 Μαρτίου 2013 Μέλος Δημοσ. 18 Μαρτίου 2013 το πρωτο οντως το χω κανει το δευτερο δν βορο να το κανο οντοσ μ το δοσανε το κωδικα λιγει σιμερα το βραδυ στισ 12 αν μπορει καποισο να με βοηθησει γιατι περναγα κατι προιντα σε ενα eshop kai dn eixa χρονο να ασχολιθω για να κανω την ασκηση
pmav99 Δημοσ. 18 Μαρτίου 2013 Δημοσ. 18 Μαρτίου 2013 https://www.google.gr/search?q=python+webcrawler&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:en-US:official&client=firefox-a&channel=fflb
Timonkaipumpa Δημοσ. 19 Μαρτίου 2013 Δημοσ. 19 Μαρτίου 2013 Καλά... δηλαδή κάποιος που ξέρει να γράψει τέτοιο κώδικα (όχι ότι είναι και τίποτα το τρομερό), δεν ξέρει εάν είναι σωστός ή όχι; Πλάκα μας κάνεις; Προφανέστατα και τον έχεις αντιγράψει από κάπου αλλού. Ούτε ΚΑΝ στον δώσανε. Για την ακρίβεια, τον έχεις αντιγράψει από εδώ: http://code.activestate.com/recipes/576884-simple-web-crawler/history/1/ Και όχι μόνο πας να "κλέψεις" στην εργασία σου, αλλά είσαι τόσο άσχετος που και καρφώνεσαι αλλά και κοροϊδεύεις τους αναγνώστες σου. Και υποτίθεται ότι είσαι ενήλικος και ψηφίζεις... Ελπίζω ο καθηγητής σου να κάνει ένα decent check και να σε κόψει. 5
defacer Δημοσ. 19 Μαρτίου 2013 Δημοσ. 19 Μαρτίου 2013 το πρωτο οντως το χω κανει το δευτερο δν βορο να το κανο οντοσ μ το δοσανε το κωδικα λιγει σιμερα το βραδυ στισ 12 αν μπορει καποισο να με βοηθησει γιατι περναγα κατι προιντα σε ενα eshop kai dn eixa χρονο να ασχολιθω για να κανω την ασκηση Τότε πέρνα το μάθημα όταν θα έχεις χρόνο ν' ασχοληθείς. Ξέρω, είναι άδικο να μη σε περνάνε χωρίς να έχεις κάνει (και πιθανόν χωρίς να έχεις μάθει) τίποτα, αλλά πού να καταλάβουν κι αυτοί οι καθηγητές τα προβλήματα του απλού φοιτητή. 5
Downloadpercent Δημοσ. 19 Μαρτίου 2013 Δημοσ. 19 Μαρτίου 2013 Sorry φίλε @ts, τι είσαι? μαθητής? φοιτητής? Αν είσαι φοιτητής και πρόκειται για κάποια άσκηση θέλω να σε ρωτήσω... "Έλα ρε, σε πιο τριτοβάθμιο ίδρυμα κάνετε αυτή τη πατάτα?(Python)" ? Για να προλάβω μερικές, θα απαντήσω προκαταβολικά... " Έχετε δίκιο, η Python είναι πολύ καλύτερη από τις άλλες γλώσσες και είναι η νέα μόδα " εμ, βγάζεις άκρη εδώ για να πεις μια διαφορετική άποψη? Το ξέρω ότι τα λέω καλά, δεν θέλω Likes!! (επίσης ότι αυτές τις μέρες από τη βαρεμάρα έχω ψωνιστεί)
Lanike71 Δημοσ. 19 Μαρτίου 2013 Δημοσ. 19 Μαρτίου 2013 Θα σε έκοβα μόνο και μόνο από την ορθογραφία σου φίλε και ας γράφεις και διαστημικό κώδικα. Και μη μου πεις ότι συνήθισες από τα greeklish... Και για να είμαι και λίγο on topic: Και γω στο ανοιχτό είμαι και με χίλια δυό τρεξίματα,αλλά στρώθηκα και έμαθα java που διδάσκεται εκεί. Αλλά και όταν δεν πρόλαβα να κάνω κάτι,απλά δέχτηκα το βαθμό που άξιζα.
bnvdarklord Δημοσ. 19 Μαρτίου 2013 Δημοσ. 19 Μαρτίου 2013 "Έλα ρε, σε πιο τριτοβάθμιο ίδρυμα κάνετε αυτή τη πατάτα?(Python)" ?To MIT μεταξύ αλλων.
Timonkaipumpa Δημοσ. 20 Μαρτίου 2013 Δημοσ. 20 Μαρτίου 2013 To MIT μεταξύ αλλων. Νομίζω και το Cargenie. Αλλά αφού οι Έλληνες ξέρουμε καλύτερα... πατάτα είναι η python και επειδή είναι η νέα μόδα ακούγεται τόσο και την αλήθεια (ότι είναι πατάτα) την ξέρουν μόνο λίγοι και με τους υπόλοιπους απλά δεν βγάζεις άκρη.
Mourloz Δημοσ. 20 Μαρτίου 2013 Δημοσ. 20 Μαρτίου 2013 Μια χαρά είναι η python και πολύ straight forward. +1 στην Python από μένα.
παπι Δημοσ. 21 Μαρτίου 2013 Δημοσ. 21 Μαρτίου 2013 Και υποτίθεται ότι είσαι ενήλικος και ψηφίζεις...Χαχαχα. BTW δεν εχω ασχοληθει με python, αρα ειναι πατατα.
Timonkaipumpa Δημοσ. 21 Μαρτίου 2013 Δημοσ. 21 Μαρτίου 2013 Πατάτα η Python?Α ρε γνώστες όλοι σας... Ευχαριστούμε που ήρθες να γενικεύσεις και να προσβάλεις τους πάντες. Άτακτη τακτική. Πόσο χρονών; Ούτε 3.
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα