我有一個簡單的PHP腳本,用於在MySQL數據庫表中搜索請求的關鍵字。不過,我正在嘗試製作一個PHP腳本,因爲URL會導入該頁面並抓取「內容」ID中的所有內容。這可能嗎?如果不是,我願意使用JavaScript/jQuery。如何爲我的自定義PHP搜索引擎將頁面索引到MySQL
在此先感謝:)
讓我知道如果你需要更多的澄清。
我有一個簡單的PHP腳本,用於在MySQL數據庫表中搜索請求的關鍵字。不過,我正在嘗試製作一個PHP腳本,因爲URL會導入該頁面並抓取「內容」ID中的所有內容。這可能嗎?如果不是,我願意使用JavaScript/jQuery。如何爲我的自定義PHP搜索引擎將頁面索引到MySQL
在此先感謝:)
讓我知道如果你需要更多的澄清。
是的,這是可能的,我會建議也許使用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";
?>
你會想編輯預浸匹配,以確保你得到你想要什麼只,那麼你可以把它分解出來,並插入到數據庫中。
請注意,這不是非常有效的帶寬。
您可能會發現這個擴展有用: 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);
我試過上面的代碼,但是我運行腳本時收到以下錯誤-----警告:DOMDocument :: load()[domdocument.load]:I/O警告:未能加載外部實體 –
我編輯了我的答案。給那個旋轉。 – joadha
我嘗試了新的代碼,但得到了一整頁的錯誤值(我將它們複製到JSfiddle http://jsfiddle.net/Y3f23/)。同樣在我的數據庫中,內容條目僅替換爲「<?xml version =」1.0「?>」。有任何想法嗎? –
當前標準的,這個問題是不是非常適合我們的問答形式。我們希望答案能夠得到**事實,參考資料或具體的專業知識**的支持,但是這個問題可能會引發爭論,爭論,投票或擴大討論。如果您認爲此問題可以改進並可能重新打開,請參閱常見問題解答獲取指導。 – iambriansreed