2015-10-22 3 views
-2

От чего-то вроде этого ...Использование Jsoup для извлечения пролета с аналогичными классами

<Head> 
<Body> 
    <div id="content-wrap" class="relative right-side-nav"> 
     ... 
<tr> 
      <td class="indent"><span>Mean Temperature</span></td> 
     <td> 
    <span class="wx-data"><span class="wx-value">55*</span><span class="wx- unit">&nbsp;°F</span></span> 
</td> 
     <td> 

</td> 
     <td>&nbsp;</td> 
     </tr> 

<tr> 
     <td class="indent"><span>Max Temperature</span></td> 
     <td> 
    <span class="wx-data"><span class="wx-value">66</span><span class="wx-unit">&nbsp;°F</span></span> 
</td> 
     <td> 
    <span class="wx-data"><span class="wx-value">59</span><span class="wx-unit">&nbsp;°F</span></span> 
</td> 
     <td> 

</td> 
     </tr> 

Я хочу, чтобы получить значение средней температуры на «*» аке 55 не 66 или 59 Как я могу сделать это?

+1

Что вы уже пробовали? –

+0

Я не пробовал искать пути, но не нашел. – user3854136

+0

Вы упомянули 'jsoup' как один из тегов. Вы знакомы с ним? Другие инструменты, с которыми вы могли бы познакомиться: php, python, scrapy, beatifulsoup? –

ответ

0

Я поделился с вами слегка измененным кодом от this post, но для лучшей производительности вы бы использовали xPath approach.

<?php 
$curl = curl_init('<url of interest>'); 
curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE); 

$page = curl_exec($curl); 

if(curl_errno($curl)) // check for execution errors 
{ 
    echo 'Scraper error: ' . curl_error($curl); 
    exit; 
} 

curl_close($curl); 
$regex = '#<span class="wx-value">(.*?)<\/span>#gs'; 
if (preg_match_all($regex, $page, $list)) 
    print_r($list); 
else 
    print "Not found"; 
?> 

Позже вы можете УТОЧНИТЬ захвачены значение из 55* в 55 пути добавления (INT) обозначения: (int)$list[0].

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

  • Нет связанных вопросов^_^