Es la primera vez que uso java asi que no se cual puede ser el error.
Código PHP:
import java.io.*;
import java.net.*;
import javax.swing.text.*;
import javax.swing.text.html.*;
import java.util.*;
import java.lang.String;
import java.util.List;
import java.lang.Object;
import java.io.FileWriter;
import java.lang.String;
class GetLinks {
public static void main(String[] args) {
List <String> NodosV = new ArrayList <String>();
String semillas = args[0];
String NextURL;
String webs = args[1];
try{
FileWriter links = new FileWriter("Link.txt",true);
NodosV = CojerLinks(semillas, webs);
while (NodosV.isEmpty()==false){
NextURL = NodosV.get(0);
NodosV.remove(0);
links.write(NextURL);
}
}
catch (Exception e) {
e.printStackTrace();
}
}
static List CojerLinks (String semilla, String web){
EditorKit kit = new HTMLEditorKit();
Document doc = kit.createDefaultDocument();
//List NodosN = new ArrayList<String>();
//NodosV<String> list = new ArrayList<String>();
List <String> NodosV = new ArrayList <String>();
List <String> NodosN = new ArrayList <String>();
String URL;
String NextURL;
// La clase documento no maneja todavia apropiadamente los caracteres.
doc.putProperty("IgnoreCharsetDirective", Boolean.TRUE);
try {
// Creamos un Reader de contenido HTML
Reader rd = getReader(semilla);
// Parsea el HTML
kit.read(rd, doc, 0);
// Nos movemos atraves de los elementos del documento HTML
ElementIterator it = new ElementIterator(doc);
javax.swing.text.Element elem;
while ((elem = it.next()) != null) {
SimpleAttributeSet s = (SimpleAttributeSet)
elem.getAttributes().getAttribute(HTML.Tag.A);
if (s != null) {
URL=s.getAttribute(HTML.Attribute.HREF).toString();
if (URL.contains(web)){
NodosN.add(URL);
}
else {
if (URL.contains("www.")==false && URL.length()>5){
NodosN.add("http://"+web+URL);
//System.out.println("http://"+semilla+URL);
}
}
}
}
}
catch (Exception e) {
e.printStackTrace();
}
//Iterator iter = NodosN.iterator();
//while (iter.hasNext())
// System.out.println(iter.next());
while (NodosN.isEmpty()==false){
NextURL = NodosN.get(0);
NodosN.remove(0);
//System.out.println(NextURL);
if(NodosV.contains(NextURL)==false){
NodosV.add(NextURL);
}
}
return NodosV;
//System.exit(1);
}
// Retornamos un Reador de los datos HTML. Si 'uri' comienza con 'http:'
// entonces se trata como una URL; de otra forma se asume que es un fichero local
static Reader getReader(String uri) throws IOException {
if (uri.startsWith("http:")) {
// Recuperamos de Internet
URLConnection conn = new URL(uri).openConnection();
return new InputStreamReader(conn.getInputStream());
}
else {
// Recuperamos de fichero local
return new FileReader(uri);
}
}
}