3
初めてX線モジュールを使用しています。不正なフォーマットHTMLコードをX線でスクラップする方法
私はそれを使用するのに問題はありませんが、不正なフォーマットのHTMLコードでデータをスクラップしようとするといくつか問題があります。例えば
、私はウェブサイトから、このHTMLコードを廃止しようとした場合:
:私は次のような結果を得るx(html, '.item', [{
tags: x('.item', 'dd:nth-child(1)')
}])
(function(err, obj) {
var jsonCleaned = JSON.parse(JSON.stringify(obj).replace(/"\s+|\s+"/g,'"').replace(/\\n/g, ''))
res.json(jsonCleaned);
})
:このコードを使用して
<div class="item">
<dl class="list">
<dd id="1"> Data1
<dd id="2"> Data2
<dd id="3"> Data3
</dl>
を
[
{
"tags": "Data1 Data2 Data3"
}
]
私のスクレイピングコードは、DDタグが閉じている場合に機能します。
[
{
"tags": "Data1"
}
]
この問題の解決方法はありますか?
私は、X線ライブラリが必要なHTMLを処理できない場合、唯一の解決策は、別のlibを試すか、HTMLをいくつかの他のlib( "整頓された "など)。 –
ところで、PhantomJSトランスポートを使用していますか? PhantomJSはこのようなHTMLを問題なく処理できるはずです。 –
こんにちは@AndrewDunai、あなたの助けに感謝します。今のところ、私はPhantomJSを使用していません。しかし、私はこのモジュールhttps://github.com/lapwinglabs/x-ray-phantomを試してみると、おそらく役に立つだろう:)再びありがとう –