2014-06-20 288 views
0

因爲我玩弄了一些nodejs和表達的東西,我有一些問題。數據提取

我得到了一些html的東西可用,並希望提取一些數據到數組。 我可以提取一些基本的東西,但我有一些更詳細的數據,我努力解決它。

這裏是我的html部分:

<hr> 
<h1>Topic</h1> 
written by&nbsp;<font color=#ffffff>sCHween</font>&nbsp;&nbsp;am&nbsp;18.06.2014&nbsp;at&nbsp;21:26:15 
<hr> 
This is my test to extract some data! 
<hr> 

,這裏是我怎麼想,我可以

jsdom.env({ 
html: body, 
scripts: ['http://code.jquery.com/jquery-2.1.1.min.js'], 
done: function(errors, window) { 
var $ = window.jQuery; 
$body = $(iconv.decode(new Buffer(body), "ISO-8859-1")), 

self.items[0] ={ 
    topic: $body.find('h1:eq(1)').text(), 
    author: $body.find('font[color=#ffffff]').first().text(), 
    date: {should be 18.06.204}, 
    time: {should be 21.26.15}, 
    text: $body.find('hr:eq(1)').nextSibling 
} 

console.log(self.items); 
res.end(''); 
} 

我的問題:

我不知道我怎樣才能更接近日期和時間? 如何在兩個hr標籤之間獲取文本?

對我而言,我並不期望完成解決方案 - 我甚至會更喜歡如果你能給我一些想法,我可以如何實現我的目標。

非常感謝&有一個偉大的日子 sCHween

回答

0
<hr> 
<h1>Topic</h1> 
<b>written by&nbsp;<font color=#ffffff>sCHween</font>&nbsp;&nbsp;am&nbsp;18.06.2014&nbsp;at&nbsp;21:26:15</b> 
<hr> 
<i>This is my test to extract some data!</i> 
<hr> 
<p></p> 

有不明確的特點。 必須是我的例子

var topic= $('h1:eq(0)').text(), 
     author= $('font[color=#ffffff]').first().text(), 
     text= $('i:eq(0)').text(), 
     date=$('b').text().match(/(\d+)/g); 
    var myArray = [ topic, author, text ]; 
    console.log(myArray); 
+0

感謝您的反饋。在JSFiddle上玩過,它工作。之後,改變了我的代碼,結果如下:,9iFab ,.我錯過了重要的事情嗎? – sCHween