1
我對Java的html解析很新,我以前用JSoup解析簡單的html而沒有它動態改變,但是我現在需要解析一個有動態元素的網頁。這是我嘗試用先前解析網頁的代碼,但無法找到元素,因爲它們是在頁面加載後添加的。情況是問題是使用帶有標記的谷歌地圖的頁面,我試圖颳去這些標記的圖像。Java解析html元素生成的JS
public static void main(String[] args) {
try {
doc = Jsoup.connect("https://pokevision.com")
.userAgent(
"Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.106 Safari/537.36")
.get();
} catch (IOException e) {
e.printStackTrace();
}
Elements images = doc.select("img[src~=(?i)\\.(png|jpe?g|gif)]");
for (Element image : images) {
System.out.println("src : " + image.attr("src"));
}
}
因爲顯然這個操作在JSoup中是不可能的,所以我可以使用其他庫來查找圖像源。
請參見[你不能用正則表達式解析HTML](/問題/ 1732348 /正則表達式匹配開放標籤,除了-XHTML-自足標籤) – Tibrogargan
@Tibrogargan這是一個CSS選擇器由Jsoup支持:https://jsoup.org/cookbook/extracting-data/selector-syntax –