2009-09-17 33 views
0

我正在做一個愛好項目,以使用Ruby或PHP或Java刮取ASP.net網站的內容。例如,如果網站的網址爲「www.myaspnet.com/home.aspx」。我想從home.aspx中提取unicode文本內容並將其粘貼到記事本中。有沒有任何上述語言的圖書館? 。任何人都可以通過提供合適的資源來幫助我。如何使用Ruby或PHP或Java分析/浸出/提取ASP.net網站內容?

謝謝!

+1

我相信這個詞是* scrape *。 – DigitalRoss 2009-09-17 05:12:04

回答

1

聽起來就像你只是想刮內容。

您不要將它粘貼到記事本中,只需將它寫入一個簡單的文本文件(然後您可以在記事本或任何其他可以讀取文本文件的程序中打開該文件)。

一般:

$content = file_get_contents('http://example.com/url.asp'); 
//do some stuff to extract what you want and format it. Probably using simplexml, or regular expressions to do the extraction 
$fp = fopen('some_file.txt'); 
fwrite($fp,$stuff); 
fclose($fp); 

大功告成。

+0

作爲旁註,如果您選擇使用正則表達式,請確保使其更靈活,即使用'「\ s +」'而不是一堆空格。人們很容易故意地,甚至無意地搞砸一個嚴格的正則表達式。 – 2009-09-17 03:51:27

+0

確實,正則表達式很髒,你會生病,必須去看醫生並照顧它。無縫地更好地解析輸出。 – timdev 2009-09-17 03:53:51

+0

你的答案@tim謝謝你,我想你的劇本,但我得到的頁面,也可通過使用捲曲完成的HTML內容,但我的要求,我想刮只有Unicode文本內容,只有文字沒有沿與html標籤。 – 2009-09-17 05:49:05

1

如果你正在使用PHP,你應該能夠沒有太多困難的事,你可以使用curl用於獲取內容和simplexml & dom導航到HTML。

您可能還想看看xpath以輕鬆提取內容。

+0

+1使用捲曲 – 2009-09-17 04:08:55

1

如果您需要某種屏幕抓取並且您偏愛Ruby,那麼您可以查看scRubyt或觀看this屏幕由Ryan Bates投射。

0

使用Java,您可以使用HttpUnit來編寫一個簡單的實用程序從頁面中提取文本,然後按照頁面上顯示的每個鏈接 - 遞歸訪問這些鏈接並執行相同的任務。

這應該是一個相當平凡的練習,儘管外部鏈接需要謹慎對待,具體取決於您想要索引多遠。

0

這個screencast基本上顯示瞭如何在Ruby中一步一步地報廢網站。它使用它輸出一個rails應用程序,它應該很容易專注於Ruby庫(ScrAPI)。

相關問題