在几个span标签内刮擦文本(Ruby& Nokogiri)

时间:2018-06-13 17:04:08

标签: ruby parsing web-scraping nokogiri

我正在努力刮擦"描述"来自这个HTML结构

function settings_data_updated($option_name, $value) {
    if ($option_name === 'cron') {
       dynamic_scheduler_activation($value);            
   }
}
add_action('updated_option', 'settings_data_updated', 10, 3);
add_action('added_option', 'settings_data_updated', 10, 2);

add_action ( 'custom_cronjob_hook', 'my_function' );

function dynamic_scheduler_activation($sec) {
   scheduler_deactivation();
   if (!wp_next_scheduled('custom_cronjob_hook')) 
        wp_schedule_event( time(), 'custom', 'custom_cronjob_hook' );
   add_filter('cron_schedules', function () use ($sec) {
   $schedules['custom'] = array(
       'interval' => $sec,
       'display'=> "$sec secs"
   );
   return $schedules;
   });
 }

register_deactivation_hook( __FILE__, 'scheduler_deactivation' );
function scheduler_deactivation() {
    wp_clear_scheduled_hook( 'custom_cronjob_hook' );
}
function my_function() { }

每个标签都有一个元素,我不知道如何处理:

<div class="menu-index-page__item-content">
 <h6 class="menu-index-page__item-title">
  <span> Item title </span>
 </h6>
 <p class="menu-index-page__item-desc">
  <span>
   <span>
    <span>Description</span>
   </span>
  </span>

每个数据重新发送都不同。因此,如果我将此属性作为目标,我将抓不到我不想要的东西。

我已尝试data-reactid=".3wrqgx5340.3.5.0.4:$523105.2.$3959254.$menuItemContent.1.0" .search,使用标签和类,但似乎没有任何效果。

有没有办法说:给我一个有一个类=&#34; menu-index-page__item-desc&#34;的p标签。并从那里刮第三个跨度?

1 个答案:

答案 0 :(得分:0)

您可以通过xpath获得所需的值 //text()[contains(.,'Description')]

您编码和xpath: xpath