J'ai commencé le Python.

Thématique J'ai commencé le Python., venez dialoguer avec de nombreux webmaster ! !

Forum webmaster


La Communauté Webmaster  forum rss
  Forum-webmaster
  Technique - programmation
  Python
(Modérateurs: Fabien, Shain, Lilian)
  J'ai commencé le Python.
« Précédent Suivant »
Pages: [1] Descendre
Répondre    Aviser des réponses    Envoyer le sujet    Imprimer
  Auteur  Sujet: J'ai commencé le Python.  (Lu 1459 fois)
J'ai commencé le Python.
« sur: le 28-09-2006 à 19:47:49 »
Martin.
Modérateur Global
*****

Hors-Ligne

Sexe: Male
Messages: 241





Voir le Profil    WWW    E-Mail
Répondre avec citation

J'avais fait un peu de python dans ma jeunesse, et j'en ai refait. J'aime. On peut développer rapidement, proprement et tout.

J'aime la syntaxe de Python. J'aime les modules de Python, ils me font penser à PHP, où tout est déjà intégré au langage. C'est ce qui me rebutte dans le CPP : J'ai l'impression de ne pouvoir rien faire avec ce que je sais. Et je comprends l'utilité de ce que j'apprends avec Python. Je ne comprends pas le POURQUOI des pointeurs, en CPP par exemple.

Maintenant que je suis bien familiarisé avec la syntaxe, je me demande ce que je pourrai créer avec Python, histoire d'aller plus loin.

La grande question est : QUOI ?

Je m'en réfère aux plus grands connaisseurs, pour leur demander ce qu'ils me conseilleraient de tenter, et qui serait dans mes cordes.

Merci

Rapporter au modérateur   Connecté

Hébergement gratuit sans publicité : C-WebHosting
Re:J'ai commencé le Python.
« Répondre #1 sur: le 03-10-2006 à 17:01:33 »
Netah
Modérateur Global
*****

Hors-Ligne

Sexe: Male
Messages: 1199



ZoneB.org
netah_x@yahoo.com
Voir le Profil    WWW    E-Mail
Répondre avec citation

un bot qui indexe des pages html et cherche des infos dedans... Par exemple, tu l'envoies vadrouiller sur le net et tu récupère les photos...
(genre google image, sans algo pour faire simple)

Rapporter au modérateur   Connecté

ZoneB.org - web-agency.biz - blog-webmaster.com
Re:J'ai commencé le Python.
« Répondre #2 sur: le 15-10-2006 à 12:40:53 »
Fabien
Code Monkey Deluxe
Modérateur Global
*****

Hors-Ligne

Sexe: Male
Messages: 1500



There is no phuture

Voir le Profil    WWW    E-Mail
Répondre avec citation

Un système d'extraction d'informations sur des pages web et qui gère correctement les problèmes d'encodage de caractères

Enfin, en ce qui me concerne, c'est ce que je suis en train de développer en Python.

Si t'as des questions, ou si tu cherches des débuts de programmes, n'hesite pas à me demander, j'ai un paquet de dev python en cours

Rapporter au modérateur   Connecté

X-Phuture.com, articles, liens, CV
Simpler Code, un blog sur le développement
Re:J'ai commencé le Python.
« Répondre #3 sur: le 15-10-2006 à 21:47:50 »
Martin.
Modérateur Global
*****

Hors-Ligne

Sexe: Male
Messages: 241





Voir le Profil    WWW    E-Mail
Répondre avec citation

Voici mon petit programme, ca extrait les meta tags (très grossièrement, n'importe quelle ligne qui contient <meta est considéré comme un meta tag ) d'une page.

Code:
#!/usr/bin/python
import urllib

class MetaExtractor:
    url = ''
    document = ''

    def __init__(self):
        ok = 0;

        while not ok:
            try:
                self.url = raw_input("URL de la page ? -> ")
                self.document = urllib.urlopen(self.url).readlines()
            except IOError:
                print self.document, "\n ---> Page introuvable.\n\n";
            else:
                ok = 1;
       
           
       
    def affiche(self):
        print(self.document)

    def affiche_meta(self):
        for ligne in self.document :
            if '<meta' in ligne: print(ligne)

           

site = MetaExtractor()
site.affiche_meta()


En fait il faudrait d'abord que je récupère tout ce qui est entre <head>, puis que je vérifie si ca commence par X tabulations, puis <meta

« Dernière Édition: le 15-10-2006 à 21:53:39 par C-Labs » Rapporter au modérateur   Connecté

Hébergement gratuit sans publicité : C-WebHosting
Re:J'ai commencé le Python.
« Répondre #4 sur: le 15-10-2006 à 22:33:51 »
Fabien
Code Monkey Deluxe
Modérateur Global
*****

Hors-Ligne

Sexe: Male
Messages: 1500



There is no phuture

Voir le Profil    WWW    E-Mail
Répondre avec citation

Je me demande si il n'est pas plus pratique de passer par une expression régulière. Et la solution idéal serait de passer par l'utilisation d'un parseur HTML.

Personellement j'utile lxml qui permet de parser des documents non valide.

Rapporter au modérateur   Connecté

X-Phuture.com, articles, liens, CV
Simpler Code, un blog sur le développement
Re:J'ai commencé le Python.
« Répondre #5 sur: le 15-10-2006 à 22:46:54 »
Martin.
Modérateur Global
*****

Hors-Ligne

Sexe: Male
Messages: 241





Voir le Profil    WWW    E-Mail
Répondre avec citation

Je comptais depuis le début passer par une expression régulière

Je bloque dessus, au moment de récupérer ce qui se trouve entre <head> et </head> :

Code:
#!/usr/bin/python
import urllib, re

class MetaExtractor:
    url = ''
    document = ''

    def __init__(self):
        ok = 0;

        while not ok:
            try:
                self.url = raw_input("URL de la page ? -> ")
                self.document = urllib.urlopen(self.url).readlines()
            except IOError:
                print self.document, "\n ---> Page introuvable.\n\n";
            else:
                ok = 1;
       
           
       
    def affiche(self):
        print(self.document)

    def affiche_meta(self):
        page = re.split('<head>([^[]+)</head>', self.document);
        listemeta = re.findall('(\t*)<meta', page[1])

        for meta in listemeta:
            print meta

       

           

site = MetaExtractor()
site.affiche_meta()


Et j'ai comme erreur :
Code:
martin@C-rebral:~/Meta_extractor$ python meta_extractor.py
URL de la page ? -> http://www.c-labs.biz
Traceback (most recent call last):
  File "meta_extractor.py", line 37, in ?
    site.affiche_meta()
  File "meta_extractor.py", line 26, in affiche_meta
    page = re.split('<head>([^[]+)</head>', self.document);
  File "/usr/lib/python2.4/sre.py", line 157, in split
    return _compile(pattern, 0).split(string, maxsplit)
TypeError: expected string or buffer

Rapporter au modérateur   Connecté

Hébergement gratuit sans publicité : C-WebHosting
Re:J'ai commencé le Python.
« Répondre #6 sur: le 15-10-2006 à 23:55:47 »
Fabien
Code Monkey Deluxe
Modérateur Global
*****

Hors-Ligne

Sexe: Male
Messages: 1500



There is no phuture

Voir le Profil    WWW    E-Mail
Répondre avec citation

readlines permet de récupérer un tableau contenant les différentes lignes d'un fichier. Il faut le fusionner avant le passer le document à split.

Essaye avec :

self.document = "".join(urllib.urlopen(self.url).readlines())

Rapporter au modérateur   Connecté

X-Phuture.com, articles, liens, CV
Simpler Code, un blog sur le développement
Re:J'ai commencé le Python.
« Répondre #7 sur: le 16-10-2006 à 00:08:22 »
Martin.
Modérateur Global
*****

Hors-Ligne

Sexe: Male
Messages: 241





Voir le Profil    WWW    E-Mail
Répondre avec citation

Il ne vaudrait pas mieux faire :
self.document = urllib.urlopen(self.url).read() ?

Avec ta solution comme avec la mienne j'obtiens juste pleins de lignes blanches

Il faut croire que le problème est dans la regexp...

Merci pour ton aide

Rapporter au modérateur   Connecté

Hébergement gratuit sans publicité : C-WebHosting
Re:J'ai commencé le Python.
« Répondre #8 sur: le 16-10-2006 à 13:37:33 »
Fabien
Code Monkey Deluxe
Modérateur Global
*****

Hors-Ligne

Sexe: Male
Messages: 1500



There is no phuture

Voir le Profil    WWW    E-Mail
Répondre avec citation

Supprime les retours à la ligne (\n). De tête, un self.document.replace('\n', '') devrait faire l'affaire.

Rapporter au modérateur   Connecté

X-Phuture.com, articles, liens, CV
Simpler Code, un blog sur le développement
Re:J'ai commencé le Python.
« Répondre #9 sur: le 16-10-2006 à 14:17:09 »
Martin.
Modérateur Global
*****

Hors-Ligne

Sexe: Male
Messages: 241





Voir le Profil    WWW    E-Mail
Répondre avec citation

Je me souviens plus de ce que j'avais fait hier soir, mais maintenant c'est bon.

Merci pour ton aide

Rapporter au modérateur   Connecté

Hébergement gratuit sans publicité : C-WebHosting
Re:J'ai commencé le Python.
« Répondre #10 sur: le 16-10-2006 à 20:20:37 »
Fabien
Code Monkey Deluxe
Modérateur Global
*****

Hors-Ligne

Sexe: Male
Messages: 1500



There is no phuture

Voir le Profil    WWW    E-Mail
Répondre avec citation

Un truc qui serait bien, ça serait d'extraire le code de traitement de l'interface homme/machine de ta classe (le raw_input et ce qu'il y a autour). En gros tu aurais un fichier du genre :

class MetaExtractor:
    # le code de la classe avec un init qui prend en parametre
    # une url

if __name__ == "__main__":
    # la boucle où tu demande l'url puis une fois que tu l'as
    meta = MetaExtractor(url)
    meta.extract_meta()

Tu aurais un code où le modèle et le controlleur serait séparé (dans une perspective MVC).

Rapporter au modérateur   Connecté

X-Phuture.com, articles, liens, CV
Simpler Code, un blog sur le développement
Re:J'ai commencé le Python.
« Répondre #11 sur: le 18-10-2006 à 02:19:08 »
Martin.
Modérateur Global
*****

Hors-Ligne

Sexe: Male
Messages: 241





Voir le Profil    WWW    E-Mail
Répondre avec citation

"Une perspective MVC" ?

Rapporter au modérateur   Connecté

Hébergement gratuit sans publicité : C-WebHosting
Re:J'ai commencé le Python.
« Répondre #12 sur: le 18-10-2006 à 08:11:46 »
Fabien
Code Monkey Deluxe
Modérateur Global
*****

Hors-Ligne

Sexe: Male
Messages: 1500



There is no phuture

Voir le Profil    WWW    E-Mail
Répondre avec citation

http://fr.wikipedia.org/wiki/Mod%C3%A8le-Vue-Contr%C3%B4leur

Rapporter au modérateur   Connecté

X-Phuture.com, articles, liens, CV
Simpler Code, un blog sur le développement
Re:J'ai commencé le Python.
« Répondre #13 sur: le 13-11-2006 à 20:13:58 »
Martin.
Modérateur Global
*****

Hors-Ligne

Sexe: Male
Messages: 241





Voir le Profil    WWW    E-Mail
Répondre avec citation

Finalement, j'ai fait un petit bot qui indexe les sites de mes hébergés.
C'est extrèmement sommaire et ca n'utilise que les meta tags.

Je vous le présenterai, si ca vous intéresse

Rapporter au modérateur   Connecté

Hébergement gratuit sans publicité : C-WebHosting
Re:J'ai commencé le Python.
« Répondre #14 sur: le 14-11-2006 à 13:31:54 »
Martin.
Modérateur Global
*****

Hors-Ligne

Sexe: Male
Messages: 241





Voir le Profil    WWW    E-Mail
Répondre avec citation

Le bot fonctionne, il récupère même les liens

Cependant, il ne les suit pas encore. Mon problème, ca serait que je ne sais pas comment faire pour qu'il continue d'indexer cette page, mais suive le lien.

Je veux dire que s'il indexe une page A, qui fait un lien vers B qui a elle-même un lien vers C et D, il indexera A, puis B et ensuite C, mais pas D.

Je devrais créer une liste des liens à indexer une fois cette page terminée ?

Merci

Rapporter au modérateur   Connecté

Hébergement gratuit sans publicité : C-WebHosting
Répondre    Aviser des réponses    Envoyer le sujet    Imprimer
Pages: [1] Monter
« Précédent Suivant »
Sauter à: 

Votre statut : Invité
Vous devez être membre pour participer.
 
 
 
 

Choisissez votre forum :
Présentation
Discussions générales
Avis ?
A propos de Forum-webmaster
Présentation de services web
Actualité webmaster
Hébergement
HTML / CSS / XHTML
Javascript / DOM / Ajax
PHP / MySQL
Asp / Asp.net / IIS
Java
Python
Langages de programmation divers
Webdesign
Infographie
Flash / Director
Référencement
Le droit sur internet
Publicité - Affiliation
Formation[s]
Offres d'emploi
Demandes d'emploi
Recrutement bénévole
L'aparté ...
Matériel / Logiciel

 

Copyright Skalpel 2008 - Tous droits réservés

creation de site strasbourg