Capteur d'nakolesah.ru Parser
Il était occupé à la libre circulation (de l'ouvrage principal) du temps - ne hack, qui était une demande d'écrire un analyseur de structure sgrabit (Naturellement, la langue perl ).
Et maintenant il est prêt (a commencé dimanche dernier) et est actuellement testé par le client. La bonne chose est que c'est la première fois mon passe-temps a permis un kopeck petites (que je vais passer un autre passe-temps - la chasse
).
Je ne peux pas dire que l'analyseur est parfait. Je poursuit obstinément le sentiment que tout pourrait se faire plus facilement et mieux ![]()
Mais, outre que c'est mon premier écrit en script pour parser nakolesah.ru est pour moi personnellement remarquable pour plusieurs raisons:
- Tout d'abord, j'ai d'abord appliqué la structure de données multiniveaux (avant la liste soit assorti d'une table de hachage ne tombe pas) et de traiter avec les liens déréférencer, respectivement;
- d'autre part - première rencontre avec les aspx-script sur le serveur (franchement, il n'y a pas la sensation la plus agréable, comparé à Perl et PHP. Cependant, à quoi s'attendre à partir de Microsoft?).
La structure des données après l'analyse nakolesah contient jusqu'à sept niveaux d'imbrication, qui d'abord un peu peur et de confusion. Toutefois, Merci pour l'excellent livre « Perl - exploration plus profonde , se pencher sur cette question n'est pas très difficile.
Voici un petit morceau de structures de données pour plus de clarté:
«Nissan» => ( «Terrano '=> ( '1994 '=> ( '30Di '=> ( «Roues» => ( «8 X 16 ET10 '=> ( Le «remplacement» => 1 ) «7 X 15 ET12 '=> ( 'OEM' => 1 ) «8 X 18 ET '=> ( Le «remplacement» => 1 ) «8 X 17 ET '=> ( Le «remplacement» => 1 ) )
Au début du développement, je suppose que l'attachement est encore plus profonde - en ajoutant à la fin du tableau arbre avec les caractéristiques des pneus et d'entraînement, mais il n'était pas nécessaire.
Voici le résultat de l'analyseur nakolesah.ru (sortie est en fichier XML):
<brand name="Chrysler"> <model name="Pacifica"> <year value="2005"> <modifi name="35i"> <type name="wheels"> nom de l'étiquette <= "8 x 17 ET38" > <completion> remplacement </ fin> <axle> </> </ label> essieu <label name="7,5 x 17 ET45"> <completion> OEM </ fin> <axle> </ essieu> </ label> <label name="8 x 19 ET35"> <completion> remplacement </ fin> <axle> </> </ label> essieu <label name="8 x 18 ET35"> <completion> remplacement </ d'achèvement > <axle> </> <essieu / label> </> <type type name="tires"> <label name="235/60 R18"> <completion> remplacement </ fin> <axle> </ essieu> / label> <<label name="235/65 R17"> <completion> OEM </ fin> <axle> </> </ label> essieu <label name="235/55 R19"> <completion> remplacement < / fin> <axle> </ essieu> </ label> </ type> </ modifi> Pendant ce temps, un analyseur syntaxique pour le nakolesah.ru site testé par le client, je pense que secrètement fixée à lui la possibilité de reprendre les données et, éventuellement, le multi-threading (la dernière utilisation des fils bibliothèque de près d'un an auparavant, il suffit de voir ce que c'est nouveau).
Avec mes meilleurs vœux, dimio !

voudrais acheter un analyseur écrire sur le courrier
Seule la base peut.