2012-06-14 31 views
0

我想要做的是從(非版權)網站中提取文本。我只需要特定div內的文本。假設div被稱爲'foo'。每個頁面上大約有20個「foo divs」,我想從每個頁面中提取文本並輸出到頁面上或從外部輸入到文本中,這並不重要。從多個同名的div中提取文本

一次做多個頁面肯定是一個獎金。

我讀過這個問題在本網站Extract text from a DIV that occurs on multiple pages on a website, then output to .txt?

似乎類似於我在問什麼,如果不相同。不知道這一個是否會從一個頁面中的多個相同名稱的div中提取。

我試着將所有的代碼複製粘貼到一個新的.php文件中,但它不起作用。我上運行了錯誤消息:(

我做了幾年做HTML我年輕的時候,但我的PHP技能是很基本的。

而且,我不需要腳本抓取或任何,只是颳去的信息。如果有多個URL我想輸入一個選項,讓用戶手動。

感謝

+0

你應該張貼,你得到了錯誤的信息刮痧的例子。 –

+0

也許您想從RSS/REST服務中檢索信息的網站? – Gntem

回答

0

你是什麼意思foo div?如果你指的是div的name屬性值foo您可以使用SIMPLE HTML DOM PARSER輕鬆檢索此查詢l IKE。

$ret = $html->find('div[name=foo]');

然後,您可以通過這些結果迭代存儲它們,無論你認爲合適。如果您手動運行腳本,將這些結果直接寫入文件可能是一個好主意?

上面的簡單dom解析器鏈接爲您提供了一步一步如何刮網站。

對於我們來說,如果您發佈自己的代碼和確切的錯誤,那麼最好的信息就是您提供的更好的答案。如果你希望SO編寫解析網頁的腳本,你可能會感到失望。

0

我覺得這些鏈接可能在PHP

Quick Start
How to create HTML DOM object?
How to find HTML elements?
How to access the HTML element's attributes?
How to traverse the DOM tree?
How to dump contents of DOM object?
How to customize the parsing behavior?
API Reference
是一些幫助你瞭解HTML DOM解析0 FAQ

而且,這裏的從一個示例站點(www.slashdot.org)

// Create DOM from URL 
$html = file_get_html('http://slashdot.org/'); 

// Find all article blocks 
foreach($html->find('div.article') as $article) { 
    $item['title']  = $article->find('div.title', 0)->plaintext; 
    $item['intro'] = $article->find('div.intro', 0)->plaintext; 
    $item['details'] = $article->find('div.details', 0)->plaintext; 
    $articles[] = $item; 
} 

print_r($articles); 
相關問題