WEBSOURCEASPIRO - ASPIRATEUR DE CODE SOURCE DE PAGE INTERNET
tropbonpourtoi
Messages postés2Date d'inscriptionlundi 8 mars 2004StatutMembreDernière intervention 8 mars 2004
-
8 mars 2004 à 21:28
tropbonpourtoi
Messages postés2Date d'inscriptionlundi 8 mars 2004StatutMembreDernière intervention 8 mars 2004
-
8 mars 2004 à 21:28
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
tropbonpourtoi
Messages postés2Date d'inscriptionlundi 8 mars 2004StatutMembreDernière intervention 8 mars 2004 8 mars 2004 à 21:28
Je te laisse ca a completer ces plus academique et mieux car si on n'a pas l'ambition de decompose pas en objets alors on fait du VB et du Delphi ou un autre job...
J ai laisse un ou deux bug histoire que les pro s amusent
/*************************************************************************
* Projet Analyseur de Site
* Nom : de projet Sitejaja.java
* Auteur : Runemberg Valery
* Date : 01 fevrier 2003
*
*************************************************************************
* public void setAdresse(String sAdresse)
* public String getAdresseParent()
* public void setAdresseParent(String sAdresseParent)
* public String getAdresse()
* public void setContenu(String sContenu)
* public String getContenu()
* public int getTaillePage()
* public int getNombreImagePage()
* public ArrayList getLiensImages()
* public ArrayList getLiensFils()
* public void setLiensFil(ArrayList arrayURLLiens)
* public void addLiensFil(String Lien)
* public void addImages(String sImages)
}
public URLConnection connectURL(String strURL){
try{
inputURL = new URL(strURL);
conn = inputURL.openConnection();
//on reccupere le nom du site ce qui va nous permettre
//ensuite les liens externes
if (Nomsite == "" ){
Nomsite = strURL;
Nomsite
=Nomsite.substring(10,Nomsite.lastIndexOf("."));
try {
BufferedReader urlReader = new BufferedReader(new
InputStreamReader(url.getInputStream()));
String line = urlReader.readLine();
while (line != null){
sbuff.append(line);
line = urlReader.readLine();
}
}catch(IOException e) {
BadLiens.add(input);
System.out.println("Erreur de lecture: " + e);
};
contenu = sbuff.toString();
return contenu;
}
private int intTrouverDebut(int debutrelatif,String strContenu) {
int debutTaghttp;
int debutTagFrame;
int debutFramehref;
int retval;
String sTaghttp = "http://";
// Les FRAME peuvent ecrire ecrite de differentes maniere
// on teste alors la presence du mot clef frame puis on recupere
// le debut a partir du mot clef SRC
String sTagFrame = "frame ";
String sTagFrameSRC = "src=";
String sTagFramehref ="href=";
// on traite les liens normaux
retval = -1;
if ((debutTaghttp = strContenu.indexOf(sTaghttp,
debutrelatif))!=-1)
{
retval = debutTaghttp;
};
if ((debutTagFrame = strContenu.indexOf(sTagFrame, debutrelatif))
!=-1)
{
retval = strContenu.indexOf(sTagFrameSRC, debutTagFrame);
}
//cas des frames surtout ou les pages fils peuvent commence par
//debut
8 mars 2004 à 21:28
J ai laisse un ou deux bug histoire que les pro s amusent
/*************************************************************************
* Projet Analyseur de Site
* Nom : de projet Sitejaja.java
* Auteur : Runemberg Valery
* Date : 01 fevrier 2003
*
*************************************************************************/
/*************************************************************************
* Bibliothèque
*************************************************************************/
import java.util.*;
import java.net.*;
import java.io.*;
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import javax.swing.tree.*;
/*************************************************************************
* Class : Page
* Auteur : Runemberg Valery
* Date : 01 fevrier 2003
*
* Constructeur :
*************************************************************************
* public Page(String sAdresse,String sAdresseParent,String sContenu,
* ArrayList ArrayLiensFils,ArrayList ArrayListImages)
*
* public Page(String sAdresse,String sContenu,ArrayList
ArrayLiensFils,
* ArrayList ArrayListImages)
*************************************************************************
* Methodes
*************************************************************************
* public void setAdresse(String sAdresse)
* public String getAdresseParent()
* public void setAdresseParent(String sAdresseParent)
* public String getAdresse()
* public void setContenu(String sContenu)
* public String getContenu()
* public int getTaillePage()
* public int getNombreImagePage()
* public ArrayList getLiensImages()
* public ArrayList getLiensFils()
* public void setLiensFil(ArrayList arrayURLLiens)
* public void addLiensFil(String Lien)
* public void addImages(String sImages)
*************************************************************************
* Proprietes
*************************************************************************
* private ArrayList LiensFils;
* private ArrayList LiensImages;
* private String AdresseParent
* private String Adresse;
* private String Contenu;
*
*************************************************************************/
class Page {
private String AdresseParent;
private String Adresse;
private String Contenu;
private Vector LiensFils ;
private Vector LiensImages;
public Page(String sAdresse,String sAdresseParent,String
sContenu,Vector VectLiensFils,Vector VectLiensImages)
{
Adresse = sAdresse;
AdresseParent = sAdresseParent;
Contenu = sContenu;
LiensFils = VectLiensFils;
LiensImages = VectLiensFils;
LiensFils.trimToSize();
LiensImages.trimToSize();
}
public Page(String sAdresse,String sContenu,Vector
ArrayLiensFils,Vector ArrayListImages)
{
Adresse = sAdresse;
Contenu = sContenu;
LiensFils = ArrayLiensFils;
LiensImages = ArrayListImages;
LiensFils.trimToSize();
LiensImages.trimToSize();
}
public void setAdresse(String sAdresse)
{
Adresse = sAdresse;
}
public String getAdresseParent()
{
return(AdresseParent);
}
public void setAdresseParent(String sAdresseParent)
{
AdresseParent = sAdresseParent;
}
public String getAdresse()
{
return(Adresse);
}
public void setContenu(String sContenu)
{
Contenu= sContenu;
}
public String getContenu()
{
return(Contenu);
}
public int getTaillePage()
{
return(Contenu.length());
}
public int getNombreImagesPage()
{
return(LiensImages.size());
}
public int getNombreLiensPage()
{
return(LiensFils.size());
}
public Vector getLiensImages(){
return LiensImages;
}
public Vector getLiensFils() {
return LiensFils;
}
public void setLiensFil(Vector VectURLLiens) {
LiensFils = VectURLLiens;
}
public void addLiensFil(String Lien) {
LiensFils.addElement(Lien);
}
public void addImages(String sImages){
LiensImages.addElement(sImages);
}
}
/************************************************************************
* Class : Page
* Auteur : Runemberg Valery
* Date : 01 fevrier 2003
*
* Constructeur : Le constructeur par defaut
*
*************************************************************************
* Methodes
*************************************************************************
* private URLConnection connectURL(String strURL)
* private String getContenuPage(String input)
* private int intTrouverDebut(int debutrelatif,String strContenu)
* private int filtreURLLiensDejaTrouver(ArrayList list,String strLien)
* private void afficherMauvaisLien()
* private ArrayList afficheContenuPage()
* private ArrayList afficheAdressePage()
* private ArrayList afficheAdresseLiensImagePage()
* private void rechercheLiens(String inputURL,String strContenu)
* private String trouverRepertoire(String retval)
* private String traitementLienAndImage(String path, String
sLienRelatif)
* private ArrayList trouverImage(ArrayList list,String sContenu,String
path)
* private Page ajoutePage(String sAdresse,String sContenu,ArrayList
ArrayLiensFils,ArrayList ArrayListImages)
* public static void main(String[] args)
*************************************************************************
* Proprietes
*************************************************************************
* public ArrayList indexLiens
* public ArrayList BadLiens
* public String Nomsite
*
* private URL inputURL;
* private URLConnection conn;
* private Vector Pages
*************************************************************************/
public class Site extends InterfaceGraphique {
public ArrayList indexLiens = new ArrayList();
public ArrayList BadLiens = new ArrayList();
public String Nomsite = "";
private URL inputURL;
private URLConnection conn;
private Vector Pages= new Vector();
public void actionPerformed(ActionEvent evt){ //La fonction pour gérer
les évenements...
Object src = evt.getSource();
if(src == go)
{
System.out.println("Recherche.....");
String contenu = getContenuPage(url.getText());
rechercheLiens(url.getText(),contenu);
System.out.println("Affichage lien");
// resultat = site.contenuSite();
afficheResultat();
}
}
public URLConnection connectURL(String strURL){
try{
inputURL = new URL(strURL);
conn = inputURL.openConnection();
//on reccupere le nom du site ce qui va nous permettre
//ensuite les liens externes
if (Nomsite == "" ){
Nomsite = strURL;
Nomsite
=Nomsite.substring(10,Nomsite.lastIndexOf("."));
}
indexLiens.add(strURL);
}catch(MalformedURLException e) {
BadLiens.add(strURL);
System.out.println("Erreur: Saisir une URL valide" +
strURL);
}catch(IOException ioe) {
BadLiens.add(strURL);
System.out.println("URL est correcte, mais elle n'est
pas joignable" + strURL);
}
return conn;
}
/*lecture du contenu de la page dans une chaine et extraction
*des liaisons de cette chaine*/
public String getContenuPage(String input) {
URLConnection url = connectURL(input);
StringBuffer sbuff = new StringBuffer();
String contenu;
try {
BufferedReader urlReader = new BufferedReader(new
InputStreamReader(url.getInputStream()));
String line = urlReader.readLine();
while (line != null){
sbuff.append(line);
line = urlReader.readLine();
}
}catch(IOException e) {
BadLiens.add(input);
System.out.println("Erreur de lecture: " + e);
};
contenu = sbuff.toString();
return contenu;
}
private int intTrouverDebut(int debutrelatif,String strContenu) {
int debutTaghttp;
int debutTagFrame;
int debutFramehref;
int retval;
String sTaghttp = "http://";
// Les FRAME peuvent ecrire ecrite de differentes maniere
// on teste alors la presence du mot clef frame puis on recupere
// le debut a partir du mot clef SRC
String sTagFrame = "frame ";
String sTagFrameSRC = "src=";
String sTagFramehref ="href=";
// on traite les liens normaux
retval = -1;
if ((debutTaghttp = strContenu.indexOf(sTaghttp,
debutrelatif))!=-1)
{
retval = debutTaghttp;
};
if ((debutTagFrame = strContenu.indexOf(sTagFrame, debutrelatif))
!=-1)
{
retval = strContenu.indexOf(sTagFrameSRC, debutTagFrame);
}
//cas des frames surtout ou les pages fils peuvent commence par
//debut