| maison  | Hardware  | réseaux  | programmation  | Logiciel  | Dépannage  | systèmes |  
programmation  
  • C /C + + Programming

  • Computer Programming Languages

  • Delphi Programming

  • Programmation Java

  • Programmation JavaScript

  • PHP /MySQL Programmation

  • programmation Perl

  • Programmation Python

  • Ruby Programming

  • Visual Basics programmation
  •  
    Connaissances Informatiques >> programmation >> Programmation Python >> Content
    Comment programmer une araignée Email en python
    Les moteurs de recherche utilisent souvent des algorithmes qui prennent informations de pages web et de les classer en fonction de leur popularité . Ces algorithmes sont souvent appelés « araignées ». Un programmeur Python peut apprendre beaucoup de choses sur la programmation multithread , expression régulière pattern matching et de données Web aller chercher en créant une araignée. Vous pouvez démarrer un script d'araignée Python avec un peu plus les bibliothèques Python inclus et interprète . Choses que vous devez
    interpréteur Python
    Afficher plus Instructions
    1

    définir deux expressions régulières pour correspondre à des adresses électroniques et des hyperliens dans le code de la page Web :

    importation urllibimport threadingimport re

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

    définir un constructeur de classe qui prend une URL de page Web comme argument. Le constructeur aura l'URL comme point de départ , puis commencer la classe "Spider " comme un thread séparé :
    classe

    Spider ( threading.Thread ) : def __ init__ (self, adresse): self.url = addressthreading.Thread.__init__ (auto )
    3

    définir la méthode "run" , qui exécute à chaque fois un nouveau fil de type « araignée » commence . Cette méthode traite la page Web avec " urllib.urlopen " , tire emails à partir du code en utilisant le "r" expression régulière et les stocke dans un fichier journal . Il prend alors les hyperliens et télécharge les informations de cette URL , en commençant un nouveau thread pour traiter cette page Web :

    terme de def (self):
    source de

    = urllib.urlopen ( self.url . ) Read () = mails r.findall ( source) = mails liste (ensemble ( mails ) ) log = open (' log.txt' , 'a') for i in mails : si re.match ( "^ [ ,"! _.0 -9a -z- ] + @ ( . [ 0-9a- z] [ 0-9a -z- ] +) + [az] { 2,4 } $ " , i) = Aucun: si (i + '\\ n' ) pas ( open (' log.txt ', ' r') readlines (). ) : print ' a économisé: ' , ilog.write (i + '\\ n' ) count + = 1log.close () urls = r1.findall (source) pour l'URL dans urls : . Crawl (url) start ()
    4

    Exécuter la classe d'araignée en appelant un nouveau fil de type " Spider" et la fourniture de avec une URL:

    Spider ( « www.google.com ») start ()

    .

    Previous :

    next :
      articles connexes
    ·Comment faire pour modifier une grille avec PHP 
    ·Comment concaténer des listes en Python 
    ·Erreurs Unicode en Python 
    ·Comment lire les images dans un dossier sur Python 
    ·Comment tenir un compte d'une variable en Python 
    ·Comment envoyer une requête à un serveur Proxy en Pyt…
    ·Comment: Méthodes de classe Python 
    ·Comment faire un tableau dynamique 2D de chaînes en Py…
    ·Comment faire pour convertir Python à EXE 
    ·Comment faire pour démarrer l'interpréteur Python 
      articles en vedette
    ·Vs de l'objet . Tableau en PHP 
    ·Comment lire plusieurs numéros en Java 
    ·Concepts Java : liste chaînée Lab 
    ·Comment faire pour créer des modèles de contrôles WP…
    ·Qu'est-ce que l'inégalité en JavaScript 
    ·Écrire du texte en OpenGL 
    ·Comment accéder aux données sous-formulaire 
    ·Comment purger un socket de réception de la mémoire t…
    ·Visual Basic termes et définitions 
    ·Comment faire pour créer des contrôles ActiveX 
    Copyright © Connaissances Informatiques http://fr.wingwit.com