Προγραμματισμός

* Γνώση Υπολογιστών >> Προγραμματισμός >> Python Προγραμματισμός

Πώς να προγραμματίσετε μια Spider Email σε Python

Οι μηχανές αναζήτησης χρησιμοποιούν συχνά αλγόριθμοι που λαμβάνουν πληροφορίες από τις ιστοσελίδες και να τα κατατάξει ανάλογα με τη δημοτικότητά τους . Αυτοί οι αλγόριθμοι που συχνά αποκαλείται « αράχνες ». Ένας προγραμματιστής Python μπορούν να μάθουν πολλά για πολυνηματική προγραμματισμό, την τακτική που ταιριάζουν μοτίβο έκφρασης και δεδομένων Web γοητευτικός δημιουργώντας μια αράχνη . Μπορείτε να ξεκινήσετε ένα σενάριο Python αράχνη με λίγο περισσότερο από τις βιβλιοθήκες που περιλαμβάνονται Python και διερμηνέα . Τα πράγματα που θα χρειαστείτε
ερμηνευτής Python
Η Εμφάνιση Περισσότερες οδηγίες
Η 1

Ορίστε δύο κανονικές εκφράσεις για να ταιριάζει με τις διευθύνσεις ηλεκτρονικού ταχυδρομείου και υπερ-συνδέσεις στον κώδικα της ιστοσελίδας :

εισαγωγή urllibimport threadingimport re

r = re.compile ( ' ( ? <= href \\ = \\ " mailto :) . * ; @ . *? . [ \\ w ] { 0,3 } ( ? = \\ " ) " ) # Mailsr1 = re.compile ( ' ( ? <= href \\ = \\ " ) . * ; ( ? = \\ " ) " ) # Links
Η 2

Ορίστε ένα κατασκευαστή της κλάσης που λαμβάνει μια διεύθυνση URL ιστοσελίδας ως επιχείρημά της . Ο κατασκευαστής θα αναλάβει τη διεύθυνση URL ως σημείο εκκίνησης , στη συνέχεια να αρχίσει την κατηγορία " Spider" ως ένα ξεχωριστό νήμα :

Spider κατηγορίας ( threading.Thread ) : def __ init__ ( self , διεύθυνση) : self.url = addressthreading.Thread.__init__ ( αυτο)
εικόνων 3

να ορίσετε τη μέθοδο "τρέχει" , η οποία εκτελεί κάθε φορά που ένα νέο νήμα τύπου " Spider" αρχίζει . Αυτή η μέθοδος επεξεργάζεται την ιστοσελίδα με " urllib.urlopen " , τραβά τα μηνύματα από τον κώδικα με τη χρήση του "r" κανονική έκφραση και τα αποθηκεύει σε ένα αρχείο καταγραφής . Στη συνέχεια λαμβάνει τις υπερ-συνδέσεις και κατεβάζει τις πληροφορίες από αυτήν τη διεύθυνση URL , ξεκινώντας ένα νέο νήμα για να επεξεργαστεί αυτή την ιστοσελίδα :

def τρέξει ( αυτο) :

source = urllib.urlopen ( self.url . ) read ( ) = mails r.findall ( πηγή ) = mails λίστα (σετ ( mails ) ) = log ανοιχτή ( « log.txt ' , ' a ') για i στα μηνύματα : αν re.match ( " ^ [ ,". ) read ( ) = mails r.findall ( pi̱gí̱ ) = mails lísta (set ( mails ) ) = log anoichtí̱ ( « log.txt ' , ' a ') gia i sta mi̱nýmata :̱ an re.match ( " ^ [ _.0 - 9a-z - ] + @ ( [ 0 - 9a-z ] [ 0 - 9a-z - ] + . ) + [ az ] { 2,4 } $ " , i ) = None : αν ( i + '\\ n' ) δεν (ανοιχτή ( « log.txt ',' r ' ) readlines ( ) . ) : print ' Saved : ' , ilog.write ( i + ' \\ n ' ) μετρούν + = 1log.close ( ) urls = r1.findall ( πηγή ) για την url σε urls : . Crawl ( url ) start ()
Η 4

Εκτελέστε την κατηγορία Spider καλώντας ένα νέο νήμα τύπου " Spider" και την παροχή με μια διεύθυνση URL : .

Spider ( www.google.com ) start ()
Η
εικόνων

Συναφής σύστασή

Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα