Java получить веб-контент для многих веб-страниц

Так что раньше у меня была программа, которая заходила на множество веб-сайтов и получала часть исходного кода из тех веб-сайтов, которые мне нужны. Однако недавно веб-сайты были обновлены, чтобы теперь загружать информацию, которую я хочу, динамически, и я больше не получаю ее.

Я сделал другую версию своей программы, используя Selenium, которая работала, но это заняло слишком много времени, чтобы быть практичным, есть ли другой способ получить контент быстрее? Одна вещь, которую я заметил, это то, что Internet Explorer версии 11 по-прежнему загружен так, как это было раньше. Могу ли я получить исходный код именно оттуда?

То, как я получал это до того, как это сработало, было таким:

public static void main(String[] args) throws IOException{


    String example = getSource("http://www.google.com");

    System.out.println(example);
}

public static String getSource(String urlToGoTo) throws IOException
{
    URL url = new URL(urlToGoTo);
    URLConnection connection = url.openConnection();
    BufferedReader in = new BufferedReader(new InputStreamReader(
            connection.getInputStream()));
    String inputLine;
    StringBuilder a = new StringBuilder();
    while ((inputLine = in.readLine()) != null)
        a.append(inputLine);
    in.close();

    return a.toString();
}

Любые идеи приветствуются, я пытался найти способ заставить это работать надолго, учитывая, что это не должно быть слишком сложным.

1 ответ

Кажется, вы пытаетесь получить исходный код страницы. Есть метод для этого в селене. Вы можете использовать его вместо своего

getSource("http://www.google.com");

Создайте экземпляр WebDriver, перейдите по ссылке и получите исходный код страницы.

Фрагмент кода:

WebDriver driver = new FirefoxDriver();
driver.get("your URL");
String pageSource = driver.getPageSource();
Другие вопросы по тегам