如何从 java 程序中的网站获取 HTML 代码?

How to get HTML code from a website in java program?

我正在尝试从我的 java 项目中的网站获取 html 代码。我能够做到这一点,但是通过一些探索我发现它永远不会加载网站的客户端(不是 100% 确定有什么区别),我不确定该网站是否从未运行过它的 java脚本代码可能会添加我正在寻找的 html 代码的其余部分,但这就是我认为正在发生的事情。任何帮助将不胜感激!

编辑 - 这是最终为我工作的代码:

public class GetHtml {

    public static WebDriver driver = new FirefoxDriver();

    public static String get() throws Exception {

        //Connect to the website
        driver.get("webiste");


        // Sleep for 5 seconds so page can load
        long end = System.currentTimeMillis() + 5000;
        while (System.currentTimeMillis() < end) {
        }

        //Get userlist
        List<WebElement> users=driver.findElements(By.className("userlist"));

        String s = "";
        for (WebElement w : users) {
            s += (w.getText());
        }

        return s;

    }
}

这会在 firefox 网络浏览器中打开 "website",等待它加载,然后找到这个 html 元素,名称为 class "userlist" 并且 returns 一个字符串,其中包含用户列表中当前所有用户的名称。

jsoup 库在其 HTML 抓取和解析职责中获取 URL。

Document doc = Jsoup.connect("http://en.wikipedia.org/").get();

如果内容是通过 javascript 或其他请求动态生成的,一种方法是使用 selenium 浏览器自动化框架:https://code.google.com/p/selenium/wiki/GettingStarted

获取页面所有元素的简单示例:

WebDriver driver = new FirefoxDriver();
driver.get("http://www.example.com");

List<WebElement> el = driver.findElements(By.cssSelector("*"));