user@linuxtrack:~ $ python -c 'print("Soyez les bienvenus !")'

Vous n'êtes pas identifié(e).

#1 11-05-2015 15:34:59

WarLocG
#! modo de compet

getUrl.py

Un petit programme à la con pour tester le module urllib

Le programme permet:
-récupérer la source html via -s
-récupérer les headers via -i
-savoir si le site existe, est down. Dans le cas d'une erreur retournée affichera une erreur 404.

#! /usr/env python
# author: WarLocG

import sys, urllib

ERROR = "404 Error : Adresse non existante."

def usage():
	print("Usage %s [-i|-s] url\n-i	get header\n-s	get source\ndefault get page title" % sys.argv[0])


def getInfo(i):
	try:
		return urllib.urlopen(sys.argv[i]).info()
	except:
		return ERROR

def getSource(i):
	try:
		return urllib.urlopen(sys.argv[i]).read()
	except:
		return ERROR

def getTitle(i):
	try:
		return getSource(i).split('<title>')[1].split('</title>')[0]
	except:
		return ERROR

def fixLocal(i):
	if sys.argv[i] == 'localhost':
		sys.argv[i] = 'http://localhost'


if len(sys.argv) < 2:
	usage()
elif ((sys.argv[1] == '-i') or (sys.argv[1] == '-s')) and (len(sys.argv) == 3):
	fixLocal(2)
	if sys.argv[1] == '-i':
		print(getInfo(2))
	else:
		print(getSource(2))
elif len(sys.argv) == 2:
	fixLocal(1)
	print(getTitle(1))
else:
	usage()

usage du tool:
python ${0} url => renvoit le contenu de la balise title
python ${0} -s url => renvoit la source html à la manière d'un curl, wget, elinks, lynx, telnet, ... classique
python ${0} -i url => renvoit les entête à la manière d'un curl, wget, elinks, lynx, telnet, ... classique

Concernant l'usage en python (c'est plutot ca qui est intéressant ici):
le module urllib comprend:
-méthode urlopen() pour ouvrir le lien
-méthode read() pour renvoyer la source html
-méthode info() pour renvoyer les headers

c'est tout ce que j'ai testé actuellement...


Avant de poser vos questions, jeter un oeil ici
Mon CodeVault et Wiki : ici
Les messages privés envers le staff sont uniquement pour les cas d'urgence ou affaires privées (personnelles). Les demandes se feront exclusivement sur le forum. Merci de respecter cette clause sous peine de sanctions.

Hors ligne

#2 11-05-2015 17:34:06

Yzeew
Membre d'or

Re : getUrl.py

Salut WarLocG,

merci je testerai ça  ? smile

Dernière modification par Yzeew (11-05-2015 22:19:36)


>> Good things come to those who, Wait.. <<

>> sip:yzeew@ekiga.net << and >> #Pouni3 <<

Hors ligne

Pied de page des forums