Welkom op de Nederland Computer Kennisnetwerk!  
 
Zoeken computer kennis
Home Hardware Netwerken Programmering Software Computerstoring Besturingssysteem
Computer Kennis >> Programmering >> python Programming >> Content
Hoe kan ik een e-mail Spider in Python programmeren
Zoekmachines gebruiken vaak algoritmen die informatie te nemen van webpagina's en te rangschikken volgens populariteit . Deze algoritmen worden vaak " spinnen. " Een Python programmeur kan veel over multithreaded programmeren , reguliere expressie patroonherkenning en Web data halen door het creëren van een spin te leren . U kunt een Python spin script te starten met weinig meer dan de meegeleverde Python bibliotheken en tolk . Wat je nodig hebt
Python-interpreter
Toon Meer Aanwijzingen
1

Definieer twee reguliere expressies om e-mailadressen en hyperlinks passen in de code van de webpagina :

import urllibimport threadingimport re

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

Definieer een klasse constructor die een webpagina URL neemt als argument. De aannemer zal de URL nemen als uitgangspunt , dan is de " Spider " class beginnen als een aparte thread :

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

Definieer de " run " -methode , die wordt uitgevoerd wanneer er een nieuwe draad van het type " Spider " begint . Deze methode verwerkt de webpagina met " urllib.urlopen " , trekt e-mails van de code met behulp van de " r" reguliere expressie en slaat ze op in een logbestand . Het neemt dan de hyperlinks en downloads van de informatie van die URL , het starten van een nieuwe draad naar die webpagina te verwerken :

def run
(zelf ) :

bron
= urllib.urlopen ( self.url . ) gelezen ( ) mails = r.findall ( bron ) mails = list ( set ( mails ) ) log = open ( ' log.txt ' , ' a ' ) voor i in mails : als re.match ( " ^ [ ,"! _.0 - 9a - z - ] + @ ( . [ 0 - 9a - z ] [ 0 - 9a - z - ] + ) + [ az ] { 2,4 } $ " , i ) = Geen: indien ( i + ' \\ n' ) niet in (open ( ' log.txt ' , ' r' ) readlines ( ) . ) : print ' Saved : ' , ilog.write ( i + ' \\ n' ) count + = 1log.close ( ) urls = r1.findall ( bron ) voor de url in urls : . Crawl ( url ) start ( )
4

Voer de Spider -klasse door te bellen naar een nieuwe draad van het type " Spider " en het leveren van het met een URL :

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

Previous: Next:
  python Programming
·Hoe te Sequence Symbolen sorte…
·Hoe te om Uw Eigen Video Games…
·Hoe te testen voor nummers met…
·Hoe maak je een Python Convers…
·Hoe maak je een sleutel te vin…
·String Lengte Limit in Python 
·Hoe de gegevens in tabelvorm i…
·Python Print Functions 
·Lijst van Python Merges 
  Related Articles
Hoe maak je een Combo Box Maak in Visual…
Hoe maak je een Check Box Maak in Visual…
Hoe maak je een tekstvak maken in Visual…
Hoe maak je een optie Box in Visual Basi…
Hoe maak je een schijf keuzelijst in Vis…
Hoe kan ik een keuzelijst maken in Visua…
Hoe kan ik een Picture Box Maak in Visua…
Hoe een bestand keuzelijst Maak in Visua…
Hoe kan ik een afbeelding Box Maak in Vi…
  Programmering Articles
·Hoe toegang Query vernieuwen 
·Welke toepassingen gebruiken Visual C ? 
·Hoe gegevens in Unbound DataGridView naa…
·Hoe je C Sluit # naar MS Excel 
·De Eigenschappen van iFrame in Java 
·Hoe maak je een lijn van de tabs geschei…
·Hoe te Tooltips in VB Gebruik 
·Hoe te Isolatie Levels Set in MySQL 
·Hoe kan ik eenvoudig Algoritmes schrijve…
Copyright © Computer Kennis https://www.nldit.com