2012-12-22 62 views
0

我使用代理來湊這個網址的數據:CNN Article查找某些文本,並獲得完整的文本

我想獲得整個文章的文字(標題不一定)。所以,我想這一點:

$(data).find("div:contains('Across the river from Cairo')"); 

這港島線找到一段文字,但是當我做我的事與它myThing = $(this).text();現在看來,這是獲得了很多不僅僅是文章。這可能與構建HTML的方式有關。如果我看源我看文章文本在p但改變限制在div:containsp:contains只得到我的前幾行(顯然)

所以我的問題是如何獲取文章全文,無論是HTML施工。我在尋找的東西(代碼),會說:使用

$someString = $(data).find("div:contains('Across the river from Cairo')").html(); 

使用字符串操作或任何

find.('Across the river from Cairo') and get this text and all the text underneath this text(); 

回答

0

嘗試。

+0

問題是,這會給我很多文字/圖片等,我不需要。這是oke,因爲沒有辦法解決這個問題,但是如果這個html只在文本下面找到,它確實會有所幫助。它可以很容易地限制到一定數量的文本。 – Youss

+1

我已經有你的代碼'myThing = $(this).text();' – Youss

+0

你可以使用:filter來過濾圖片標籤。正如你使用過text(),它將得到只在指定的DOM元素下的文本。 –

2

我用選擇器p.cnn_storypgraphtxt從那篇文章中獲得了期望的結果。爲了讓整篇文章,你可以使用$("p.cnn_storypgraphtxt").text()

$("p.cnn_storypgraphtxt").map(function(){return $(this).text;}).get().join("\n"); 

爲了得到遵循一定的表達的文字,你可以使用.last()獲得最後選定的節點(即DOM中最低的)和那麼.nextAll()就像

$(":contains('Across the river from Cairo')").last().nextAll().text() 

但這將包含大量不需要的東西。

+0

我實際上在尋找一個代碼,它會說:找到這個文本,並從這一點開始獲取所有文本。它可能是任何網站,所以你的代碼不會工作 – Youss

+0

所以我需要的文本的起點應該是文字字符串'開羅河對岸' – Youss

+0

我認爲我需要'切片'或什麼 – Youss