因此,我正在研究PHP腳本,其中的一部分需要能夠查詢網站,然後從中獲取文本。如何從使用PHP的網站獲取文本?
首先,我需要能夠查詢某個網站的URL,然後我需要能夠從查詢後從該網站的文本中獲取文本,並且能夠將該文本從該函數中返回。
如何查詢網站並從中獲取文本?
因此,我正在研究PHP腳本,其中的一部分需要能夠查詢網站,然後從中獲取文本。如何從使用PHP的網站獲取文本?
首先,我需要能夠查詢某個網站的URL,然後我需要能夠從查詢後從該網站的文本中獲取文本,並且能夠將該文本從該函數中返回。
如何查詢網站並從中獲取文本?
最簡單的方法:
,將讓你的網頁的源。
雖然你可能想要一些更完整的東西,所以看看cURL,更好的錯誤處理,並設置用戶代理,什麼不是。
從那裏,如果你只想要文本,你將不得不解析頁面。爲此,請參閱:How do you parse and process HTML/XML in PHP?
您可以使用file_get_contents
或者如果您需要更多控制(即提交POST請求,設置用戶代理字符串...),您可能需要查看cURL。
file_get_contents
例子:
$content = file_get_contents('http://www.example.org');
基本捲曲例子:
$ch = curl_init('http://www.example.org');
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7) AppleWebKit/534.48.3 (KHTML, like Gecko) Version/5.1 Safari/534.48.3');
$content = curl_exec($ch);
curl_close($ch);
如果您已經安裝了捲曲,使用它。否則:
$website = file_get_contents('http://google.com');
然後,您需要搜索所需文本的字符串。你如何做到這一點取決於網站和你正在閱讀的文字。
您需要使用CURL。你可以得到一些樣品here
如果你想要更多的控制,使用cURL。否則:..的file_get_contents
$url = "http://www.example.com/test.php"; // Site URL.
$site = file_get_contents($url); // Gets site response.
我會做一個DOM搜索,看看http://www.php.net/manual/es/domdocument.load.php Domxpath可能是非常有用的太:http://php.net/manual/en/class.domxpath.php
$doc = new DOMDocument;
$doc->load("http://mysite.com");
$xpath = new DOMXpath($doc);
$elements = $xpath->query("*/div[@id='yourTagIdHere']");
這可以通過讓所有的內容從完成網頁利用上面已經列出的方法,然後使用正則表達式到刪除打開和關閉括號之間的所有字符?
,看起來像這樣的頁面:
<html><style> h1 { font-style:... }</style><h1>stuff in here</h1></html>
隨後將成爲這個後的正則表達式:
h1 { font-style:... }stuff in here
而且因爲我們要刪除各種標記,如之間的所有代碼[style]標籤,我們可以首先使用正則表達式來刪除[style和/ style]之間的所有字符,這樣我們只剩下了:
stuff in here
那麼這項工作呢?請回復,如果你認爲它會或如果你預見錯誤,因爲我想創建一個工具與此解析。