2011-03-23 58 views
0

我想創建一個抓取網站內容的PHP腳本。因此我們假設它抓住了該網站的所有源代碼,並且說出我需要哪些代碼行。有使用其他網頁的源代碼的PHP功能嗎?

在PHP中有沒有一個函數可以讓你這樣做,或者它是不可能的?免責聲明:我不打算將此用於任何非法目的,也不要求您寫任何代碼,只是告訴我它是否可行,如果可以的話我會如何去做。另外我只是問一般情況,不是因爲任何特定的原因。謝謝! :)

+0

網站(你可以抓住)的內容是該網站的東西從源代碼不同(你不能)。 – Jon 2011-03-23 00:56:33

+0

我的意思是HTML,而不是任何服務器端源 – 2011-03-23 00:57:19

+0

通常更簡單的是'file_get_contents(「http:// remote/page」)'。但是這適合提取HTML。我不確定這是你抓取源代碼或代碼行的意思。 (從遠程.php腳本接收代碼是不可能的;除非特別準備。) – mario 2011-03-23 00:58:45

回答

1

file('http://the.url.com')從url返回一行數組。

所以行24做到這一點:

$lines = file('http://www.whatever.com'); 
echo $lines[23]; 
0

這聽起來像一個可怕的想法,但在這裏我們去:

  • 使用file_get_contents()來獲取文件。如果Web服務器首先處理它,則無法獲取源,因此您可能需要使用擴展名,如.txt。除非你用密碼保護文件,顯然任何人都可以得到它。

  • 使用explode()\n分隔符將源代碼拆分爲行。

  • 使用array_slice()來獲得你需要的行。

  • eval()該代碼。

注意:如果你只是想HTML輸出,那麼忽略有關步驟1中的源位和很明顯,你可以跳過整個eval()事情。

相關問題