Προς το περιεχόμενο

Προτεινόμενες αναρτήσεις

Δημοσ.

Παιδιά έχω να κάνω μια άσκηση που λέει:

Να δημιουργήσω πρόγραμμα σε 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 "")

Δημοσ.

το πρωτο οντως το χω κανει το δευτερο δν βορο να το κανο οντοσ μ το δοσανε το κωδικα



λιγει σιμερα το βραδυ στισ 12 αν μπορει καποισο να με βοηθησει γιατι περναγα κατι προιντα σε ενα eshop kai dn eixa χρονο να ασχολιθω για να κανω την ασκηση

Δημοσ.

Καλά... δηλαδή κάποιος που ξέρει να γράψει τέτοιο κώδικα (όχι ότι είναι και τίποτα το τρομερό), δεν ξέρει εάν είναι σωστός ή όχι;

 

Πλάκα μας κάνεις; 

 

Προφανέστατα και τον έχεις αντιγράψει από κάπου αλλού. Ούτε ΚΑΝ στον δώσανε. Για την ακρίβεια, τον έχεις αντιγράψει από εδώ:

 

http://code.activestate.com/recipes/576884-simple-web-crawler/history/1/

 

Και όχι μόνο πας να "κλέψεις" στην εργασία σου, αλλά είσαι τόσο άσχετος που και καρφώνεσαι αλλά και κοροϊδεύεις τους αναγνώστες σου. 

 

 

Και υποτίθεται ότι είσαι ενήλικος και ψηφίζεις... 

 

Ελπίζω ο καθηγητής σου να κάνει ένα decent check και να σε κόψει. 

  • Like 5
Δημοσ.

το πρωτο οντως το χω κανει το δευτερο δν βορο να το κανο οντοσ μ το δοσανε το κωδικα

 

λιγει σιμερα το βραδυ στισ 12 αν μπορει καποισο να με βοηθησει γιατι περναγα κατι προιντα σε ενα eshop kai dn eixa χρονο να ασχολιθω για να κανω την ασκηση

 

Τότε πέρνα το μάθημα όταν θα έχεις χρόνο ν' ασχοληθείς. Ξέρω, είναι άδικο να μη σε περνάνε χωρίς να έχεις κάνει (και πιθανόν χωρίς να έχεις μάθει) τίποτα, αλλά πού να καταλάβουν κι αυτοί οι καθηγητές τα προβλήματα του απλού φοιτητή.

  • Like 5
Δημοσ.

Sorry φίλε @ts, τι είσαι? μαθητής? φοιτητής?

 

Αν είσαι φοιτητής και πρόκειται για κάποια άσκηση θέλω να σε ρωτήσω...

 

"Έλα ρε, σε πιο τριτοβάθμιο ίδρυμα κάνετε αυτή τη πατάτα?(Python)" ?

 

 

 

Για να προλάβω μερικές, θα απαντήσω προκαταβολικά...

" Έχετε δίκιο, η Python είναι πολύ καλύτερη από τις άλλες γλώσσες και είναι η νέα μόδα "

εμ, βγάζεις άκρη εδώ για να πεις μια διαφορετική άποψη?

 

 

Το ξέρω ότι τα λέω καλά, δεν θέλω Likes!! (επίσης ότι αυτές τις μέρες από τη βαρεμάρα έχω ψωνιστεί)

 

 

 

Δημοσ.

Θα σε έκοβα μόνο και μόνο από την ορθογραφία σου φίλε και ας γράφεις και διαστημικό κώδικα.

Και μη μου πεις ότι συνήθισες από τα greeklish...

 

Και για να είμαι και λίγο on topic:

 

Και γω στο ανοιχτό είμαι και με χίλια δυό τρεξίματα,αλλά στρώθηκα και έμαθα java που διδάσκεται εκεί.

Αλλά και όταν δεν πρόλαβα να κάνω κάτι,απλά δέχτηκα το βαθμό που άξιζα.

Δημοσ.

To MIT μεταξύ αλλων.

 

Νομίζω και το Cargenie.

 

 

Αλλά αφού οι Έλληνες ξέρουμε καλύτερα... πατάτα είναι η python και επειδή είναι η νέα μόδα ακούγεται τόσο και την αλήθεια (ότι είναι πατάτα) την ξέρουν μόνο λίγοι και με τους υπόλοιπους απλά δεν βγάζεις άκρη. 

Δημοσ.

Και υποτίθεται ότι είσαι ενήλικος και ψηφίζεις...

Χαχαχα.

 

BTW δεν εχω ασχοληθει με python, αρα ειναι πατατα.

Δημοσ.

Πατάτα η Python?Α ρε γνώστες όλοι σας...

 

 

Ευχαριστούμε που ήρθες να γενικεύσεις και να προσβάλεις τους πάντες. Άτακτη τακτική. Πόσο χρονών; Ούτε 3. 

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...