| Hjem | Hardware | Netværk | Programmering | software | Fejlfinding | systemer | 
Programmering  
  • C /C + + Programming
  • Computer Programmeringssprog
  • Delphi programmering
  • Java programmering
  • JavaScript Programmering
  • PHP /MySQL programmering
  • Perl programmering
  • Python Programming
  • Ruby Programming
  • Visual Basics Programmering
  •  
    Computer Viden >> Programmering >> Python Programming >> Content
    Hvordan man programmerer en e-mail Spider i Python
    Søgemaskiner bruger ofte algoritmer , der tager oplysninger fra websider og rangordne dem efter popularitet . Disse algoritmer er ofte kaldet " edderkopper ". En Python programmør kan lære en masse om flertrådede programmer , regulære udtryk mønstertilpasning og Web data hentning ved at oprette en edderkop . Du kan starte en Python edderkop script med lidt mere end de inkluderede Python biblioteker og tolk. Ting du skal
    Pythonfortolkeren
    Vis Flere Instruktioner
    1

    Definer to regulære udtryk til at matche email-adresser og hyperlinks i koden på websiden : Hej

    import urllibimport threadingimport re

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

    Definer en klasse konstruktør , der tager en webside URL som sin argumentation . Konstruktøren vil tage URL'en som udgangspunkt , så begynder de " Spider " klasse som en separat tråd : Hej

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

    Definer "run" -metoden, som udfører hver gang en ny tråd af typen " Spider " begynder . Denne metode behandler webside med " urllib.urlopen " , trækker e-mails fra kode ved hjælp af "r" regulært udtryk og gemmer dem i en logfil . Det tager så hyperlinks og downloader oplysninger fra denne webadresse , der starter en ny tråd for at behandle webside : Hej

    def run (selv-) : Hej

    source = urllib.urlopen ( self.url . ) read () mails = r.findall (kilde) mails = listen ( sæt ( mails) ) log = åben ( ' log.txt ', ' a') for jeg i mails : Hvis re.match ( " ^ [ ,"! _.0 -9a- z- ] + @ ( . [0 -9a- z] [0 -9a- z- ] + ) + [az] { 2,4 } $ " , i) = Ingen: hvis (i + '\\ n' ) ikke (åbne ( ' log.txt ', ' r' ) readlines (). ) : print ' Gemt : », ilog.write (i + ' \\ n ' ) count + = 1log.close () URL'er = r1.findall (kilde ) for url i webadresser: . Crawl ( url ) start ()
    4

    Kør Spider klassen ved at kalde en ny tråd af typen " Spider ", og leverer det med en URL : Hej

    Spider ( www.google.com ) starte ( )

    .

    Forrige :

    næste :
      Relaterede artikler
    ·Sådan Konverter PY filer til PYC 
    ·Hvad sprog er Python Interpreter kodet i 
    ·String Python Typer 
    ·Sådan oprettes et diagram i Python 
    ·Sådan Test , om en værdi er en Decimal eller Ikke Pyt…
    ·Hvordan virker Trafik Python Arbejde 
    ·Hvordan skal tjekkes Variable Klasser i Python 
    ·Sådan downloader filer fra websider med Python 3.X 
    ·Sådan Upload til S3 med Python 
    ·Sådan Encode UTF-8 Ignorer i Python 
      Anbefalede Artikler
    ·Sådan Trim en streng i Python 
    ·Hvordan man laver en Universal Crosshair i Visual Basic…
    ·Nem måde at skifte PHP Query Clauses 
    ·Sådan Læs Kun tekstbokse i VB6 
    ·Sådan bruges Doxygen at Skriv kildekoder 
    ·Hvorfor er der huller mellem div tags 
    ·The Split Funktion i Perl 
    ·Hvordan man kompilerer en 64- Bit GDB 
    ·Hvordan man laver en jQuery objekt 
    ·Et nyt vindue er blokeret i JavaScript 
    Copyright © Computer Viden http://www.computerdk.com