J'ai le code suivant qui extrait les URL d'une page donnée en utilisant jsoup.Extraire les URL https en utilisant jsoup
import org.jsoup.Jsoup;
import org.jsoup.helper.Validate;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;
import java.io.IOException;
/**
* Example program to list links from a URL.
*/
public class ListLinks {
public static void main(String[] args) throws IOException {
String url = "http://shopping.yahoo.com";
print("Fetching %s...", url);
Document doc = Jsoup.connect(url).get();
Elements links = doc.getElementsByTag("a");
print("\nLinks: (%d)", links.size());
for (Element link : links) {
print(" * a: <%s> (%s)", link.absUrl("href") /*link.attr("href")*/, trim(link.text(), 35));
}
}
private static void print(String msg, Object... args) {
System.out.println(String.format(msg, args));
}
private static String trim(String s, int width) {
if (s.length() > width)
return s.substring(0, width-1) + ".";
else
return s;
}
}
Ce que je suis en train de faire, est de construire un robot qui extrait seul site https
. Je donne au crawler un lien de germe pour commencer, puis il doit extraire tout le site https
, puis prendre chacun des liens extraits et faire la même chose avec eux jusqu'à atteindre un certain nombre d'URL collectées. Mes questions: Le code ci-dessus permet d'extraire tous les liens dans une page donnée. J'ai besoin d'extraire les liens qui commencent par https://
seulement, que dois-je faire pour y parvenir?
Il existe des sites qui redirigent automatiquement l'utilisateur vers le site HTTPS s'ils proviennent du site HTTP, voulez-vous de tels liens? (C'est un peu plus difficile dans ce cas, puisque vous devez initier une requête HTTP ici). – nhahtdh
Merci. Non. Je veux juste collecter des sites https sur Internet. –