我正在用Java做一个项目。在这个项目中,我必须使用 DOM。为此,我首先使用 Selenium 加载任何给定 URL 的动态页面。然后我使用 Jsoup 解析它们。
我想获取给定 URL 的动态页面源代码
代码快照:
public static void main(String[] args) throws IOException {
// Selenium
WebDriver driver = new FirefoxDriver();
driver.get("ANY URL HERE");
String html_content = driver.getPageSource();
driver.close();
// Jsoup makes DOM here by parsing HTML content
Document doc = Jsoup.parse(html_content);
// OPERATIONS USING DOM TREE
}
但问题是,Selenium 占用了整个处理时间的 95% 左右,这是不可取的。
Selenium 首先打开 Firefox,然后加载给定页面,然后获取动态页面源代码。
你能告诉我如何通过用另一个有效的工具替换这个工具来减少 Selenium 所花费的时间。任何其他建议也将受到欢迎。
编辑编号。1
此链接上有一些代码。
FirefoxProfile profile = new FirefoxProfile();
profile.setPreference("general.useragent.override", "some UA string");
WebDriver driver = new FirefoxDriver(profile);
但是这里的第二行是什么,我不明白。由于文档中的硒也很差。
编辑第 2 号
System.out.println("正在获取 %s..." + url1); System.out.println("正在获取 %s..." + url2);
WebDriver driver = new FirefoxDriver(createFirefoxProfile());
driver.get("url1");
String hml1 = driver.getPageSource();
driver.get("url2");
String hml2 = driver.getPageSource();
driver.close();
Document doc1 = Jsoup.parse(hml1);
Document doc2 = Jsoup.parse(hml2);