У меня есть следующий код, который извлекает URL-адреса с данной страницы с помощью jsoup.Извлечение https urls с помощью 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;
}
}
То, что я пытаюсь сделать, это создать искатель, который извлекает только https
сайт. Я даю обходчику начальную ссылку для начала, затем он должен извлечь весь сайт https
, затем взять каждую извлеченную ссылку и сделать то же самое с ними, пока не достигнет определенного количества собранных URL-адресов.
Мои вопросы: Вышеприведенный код может извлекать все ссылки на данной странице. Мне нужно извлечь ссылки, которые начинаются только с https://
, что мне нужно сделать для этого?
Есть сайты, которые автоматически перенаправляют пользователя на сайт HTTPS, если они поступают с HTTP-сайта, вам нужны такие ссылки? (В этом случае это немного сложнее, так как здесь вы должны инициировать HTTP-запрос). – nhahtdh
Спасибо. Нет. Я просто хочу собирать https-сайты из Интернета. –