2016-12-18 10 views
0

だから私は、次のように構成され、私はこすりしたいWebサイトを、持っている:cheerioによるWebスクラップ:子要素を削除または無視しますか?

<p><strong>some headline:</strong> some content etc. blabla </p> 

<p><strong>some other headline:</strong> some more content etc. blabla </p> 
// and so on... 

私は次のようにチェリオでそれをこすり:

$('p strong').each(function(i, element){ 
     console.log($(this).text()); 
     //gets me the headline 

     console.log("Parent:" + $(this).parent().text()); 
     //gets me the content, but unfortunately, also the headline again 
    }); 

を今のところ、私はちょうどすべてをログ記録が、後でIいますヘッドライン&のコンテンツを別々の変数に保存したいしかし、見出し(<strong>タグ内にある)は<p>タグの一部でもあるので、私の2番目のコマンド(コンテンツを取得しようとするもので、すでにタイトルを取得していないので)はコンテンツだけでなく、もう一度見出しをつける。 <strong>タグに含まれているものをすべて分けたり削除したりするには、残りのすべてを<p>タグに保存するだけです(コンテンツのみ)。見出し要素削除すること

+0

を(前と後の私の編集を再度参照)、それを投稿する前にプレビュー領域にあなたのポストを校正するために時間がかかるしてください。 –

答えて

1

は、おそらく最も簡単な:

$('p strong').each(function(i, element){ 
    var $this = $(this); 
    var headline = $this.text();  // Get headline text 
    var parent = $this.parent();  // Get parent 
    $this.remove();     // Remove headline element 
    var body = parent.text();  // Get body text 
    // ... 
}); 
関連する問題