2015-10-16 59 views
1

如何使用JSOUP獲取文本「xxxx」和它的URL。如何使用JSOUP從div樣式獲取文本

<div style="width:45%;float:left;border: dashed 1px #966;margin:0 10px;padding:10px;height:400px;"> 
 
    <ul> \t \t 
 
     <li><a href="http://xxx.xxx.com/Title?xxxxx" target="_blank">xxxx</a></li> 
 
     <li><b>years:</b>2015</li> 
 
     <li><b>language:</b>non </li> 
 
     <li><b>color:</b>color</li> 
 
    </ul> 
 
</div>

這是我目前的做法,但我得到什麼:

Elements mvYearElement = doc.select("div[style*=width:45%;float:left;border: dashed.1px #966;margin:0 10px;padding:10px;height:400px;]"); 
+0

您希望避免的文檔中是否存在更多的href鏈接,或者您爲什麼明確指定div的樣式標記? – luksch

+0

以上的html只是頁面的一部分,並且在頁面中有更多的href鏈接。指定樣式標籤是在此頁面中唯一的原因。 – WhiteBanana

回答

2

的問題是可能是風格並不需要出現在一個特定的順序。然而,您的選擇器會固定訂單並列出很多樣式。我會嘗試確定風格的一部分,它確實在區分鏈接,只使用這一部分。因爲我不知道HTML的其餘部分,我只能猜測這個區分部分是什麼。這可能嗎?

Elements els = doc.select(div[style*=dashed]); 

然而,這只是一個瘋狂的猜測。但也許這也是div的內容,它將區別於其他的內容?在這種情況下,你可以這樣做:

Elements els = doc.select(div[style]:has(ul)); 

或其他東西。如果你會分享更多的HTML,我可以更具體。

+0

謝謝!第一行代碼是工作! – WhiteBanana