私はスクレーパーを構築しNode.js
ていますが、わずかな問題に直面しています。<p>
タグに埋め込まれているか、テキストが含まれている<span>
だけであるかに関係なく、要素のテキストを取得する関数を構築しようとしてい<div>
ます。
<p>
以下は現在、タグに含まれるテキストに対してのみ機能します。
function getDescription(product){
var text =[];
$('.description *')
.each(function(i, elem) {
var dirty = $(this).text();
var clean = sanitize(dirty).trim();
if (clean.length){
text.push(clean);
}
});
text.join(',');
sanitize(text).trim();
return text;
}
これは、次のようなコードで機能します。
<div class="description">
<p>Test test test</p>
</div>
しかし、これではうまくいきません:
<div class="description">
Test test test
</div>
参考までに、 関数sanitize
とtrim
関数は の一部ですがNode Validator
、これは私の問題とは特に関係ありません。文字列を取得して空白を削除するだけです。
1 つの関数を両方のインスタンスで機能させるために何ができるかについてのアイデアはありますか? けがに侮辱を加えるためにnode
、ライブラリを使用して のcheerio
一部の機能を複製しますがjQuery
、それらのすべてではありません。