2012-10-06 50 views
0

我有一個簡單的PHP腳本,用於在MySQL數據庫表中搜索請求的關鍵字。不過,我正在嘗試製作一個PHP腳本,因爲URL會導入該頁面並抓取「內容」ID中的所有內容。這可能嗎?如果不是,我願意使用JavaScript/jQuery。如何爲我的自定義PHP搜索引擎將頁面索引到MySQL

在此先感謝:)

讓我知道如果你需要更多的澄清。

+1

當前標準的,這個問題是不是非常適合我們的問答形式。我們希望答案能夠得到**事實,參考資料或具體的專業知識**的支持,但是這個問題可能會引發爭論,爭論,投票或擴大討論。如果您認爲此問題可以改進並可能重新打開,請參閱常見問題解答獲取指導。 – iambriansreed

回答

0

是的,這是可能的,我會建議也許使用cURL。

然後你可以輸入一個URL,它會抓取頁面。

<?php 

$ch = curl_init('http://finance.google.com/finance'); 

curl_setopt($ch,CURLOPT_HEADER,0); 

curl_setopt($ch,CURLOPT_RETURNTRANSFER,1); // Give us the page source 

$cr = curl_exec($ch); 

preg_match_all('/href="()"/i',$cr,$pm,PREG_SET_ORDER); 

print_r($pm); 

foreach($pm as $pv) echo $pv[1] . "\r\n"; 

?> 

你會想編輯預浸匹配,以確保你得到你想要什麼只,那麼你可以把它分解出來,並插入到數據庫中。

請注意,這不是非常有效的帶寬。

1

您可能會發現這個擴展有用: http://www.php.net/manual/en/book.dom.php

下面的代碼片段將返回元素的內容與ID =「內容」:

$url = 'http://www.example.com/'; 

    $doc = new DomDocument; 
    $doc->load($url); 

    $content_element = $doc->getElementById('content'); 
    $contents = $doc->saveXML($content_element); 
+0

我試過上面的代碼,但是我運行腳本時收到以下錯誤-----警告:DOMDocument :: load()[domdocument.load]:I/O警告:未能加載外部實體 –

+0

我編輯了我的答案。給那個旋轉。 – joadha

+0

我嘗試了新的代碼,但得到了一整頁的錯誤值(我將它們複製到JSfiddle http://jsfiddle.net/Y3f23/)。同樣在我的數據庫中,內容條目僅替換爲「<?xml version =」1.0「?>」。有任何想法嗎? –