Datamaskin
  | Hjem | Hardware | Nettverk | Programmering | Software | Feilsøking | Systems | 
Programmering  
  • C /C + + Programming
  • Computer Programmeringsspråk
  • Delphi Programming
  • Java Programming
  • JavaScript Programmering
  • PHP /MySQL programmering
  • Perl Programming
  • Python Programming
  • Ruby Programming
  • Visual Basics Programming
  •  
    Datamaskin >> Programmering >> Python Programming >> Content
    Hvordan programmere en e- Spider i Python
    Søkemotorer ofte bruker algoritmer som tar informasjon fra websider og rangere dem etter popularitet. Disse algoritmene er ofte kalt "edderkopper . " En Python programmerer kan lære mye om flertrådet programmering, regulære uttrykk mønstergjenkjenning og web data henting ved å opprette en edderkopp . Du kan starte en Python edderkopp script med litt mer enn de inkluderte Python biblioteker og tolk . Du trenger
    Python tolk
    Vis flere instruksjoner
    en

    Definer to regulære uttrykk for å matche e-postadresser og hyperlenker i koden til websiden :

    import urllibimport threadingimport re

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

    Definer en klasse konstruktør som tar en webside URL som argument sin . Konstruktøren tar nettadressen som utgangspunkt, og deretter starte " Spider "-klassen som en egen tråd : en

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

    Definere "run "-metoden , som utfører hver gang en ny tråd av typen " Spider " begynner . Denne metoden behandler websiden med " urllib.urlopen " , trekker e-poster fra koden ved å bruke " r" vanlig uttrykk og lagrer dem i en loggfil . Det tar så hyperlenker og laster ned informasjon fra denne URLen, starter en ny tråd for å behandle denne websiden : en

    def run (egen ) : en

    source = urllib.urlopen ( self.url . ) lese () post = r.findall ( kilde) post = liste ( sett ( post) ) log = open (' log.txt ' , 'a' ) for i in post : hvis re.match ( "^ [ ,"! _.0 - 9a -z -] + @ ( . [ 0 - 9a -z ] [ 0 - 9a -z -] + ) + [ az ] { 2,4 } $ " , i) = Ingen: hvis ( i + '\\ n' ) ikke er i (åpne ( ' log.txt ', ' r' ) readlines (). ) : print 'Saved :', ilog.write ( i + '\\ n' ) teller + = 1log.close ( ) urls = r1.findall ( kilde ) for url i webadresser : . Crawl ( url) start ( )
    4

    Kjør Spider klassen ved å kalle en ny tråd av typen " Spider" og leverer den med en URL:

    Spider (' www.google.com ') start ( )

    .

    früher :

     Weiter:
      Relatert Artike
    ·Hvordan sløyfe gjennom en liste over filer i Python 
    ·Python SSL Tutorial 
    ·DIY Rose Bouquet 
    ·Hvordan Beregn Mean varians og standardavvik bruke Pyth…
    ·Hvordan bruke Inheritance i Python 
    ·Hvordan å kompilere et Dictionary of Numbers i Python 
    ·Hvordan å kompilere Python kommandoer 
    ·Hvordan bygge en Python Cygwin 
    ·Hvordan spare en Array i Python 
    ·Regular Expression Opplæring for Python 2.5 
      Anbefalte artikler
    ·Hvordan bruke Crystal Reports 2008 Med Visual Studio 20…
    ·Hvordan lage en trykknapp Synlig i Visual C 
    ·Informasjon om Oracle Migrasjon til MySQL 
    ·Hvordan lage din egen datamaskin programmer 
    ·Hvordan Catch Alle DataGrid Unntak 
    ·Slik konverterer en DB til UTF8 i MySQL 
    ·Slik bruker du en CreateFile DLL i VB.NET 
    ·Hvordan fange opp tastetrykk i Java 
    ·Hvordan bygge en graf i Java 
    ·Hvordan bygge en Twitter Robot i PHP 
    Copyright ©  Datamaskin  http://www.datamaskin.biz/