2015-10-16 2 views
1

Как получить текст «xxxx» и его URL-адрес с помощью JSOUP.Как получить текст из стиля div, используя JSOUP

<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]); 

Это только дикое предположение. Но, может быть, это также содержимое дива, которое отличает его от других? В этом случае вы можете сделать что-то вроде этого:

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

Или что-то еще. Если бы вы разделили больше HTML, я мог бы быть более конкретным.

+0

Спасибо! первая строка кода - это работа! – WhiteBanana

Смежные вопросы