私は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 にかかる時間を短縮する方法を教えてください。他のアドバイスも大歓迎です。
編集 NO. 1
このリンクにはいくつかのコードがあります。
FirefoxProfile profile = new FirefoxProfile();
profile.setPreference("general.useragent.override", "some UA string");
WebDriver driver = new FirefoxDriver(profile);
しかし、ここの2行目は何ですか、わかりませんでした。ドキュメンテーションもセレンが非常に貧弱です。
編集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);