[英]How to get particular element from a complete website (Not single page)
想要從完整的網站中選擇一個元素。 在Google搜索了幾個小時,沒有結果。 也許我搜索了錯誤的術語,但是我似乎找不到解決該問題的方法。
我獲取了sitemap.xml,並使用下面的代碼獲取了所有鏈接。
我想使用此XML鏈接從所有鏈接中獲取元素。
<?php
$urls = array();
$DomDocument = new DOMDocument();
$DomDocument->preserveWhiteSpace = false;
$DomDocument->load('https://www.ivory.co.il/sitemap.xml');
$DomNodeList = $DomDocument->getElementsByTagName('loc');
foreach($DomNodeList as $url) {
$urls[] = $url->nodeValue;
}
//display it
echo "<pre>";
print_r($urls);
echo "</pre>";
?>
需要幫忙...
使用simplexml_load_file
(因為它是公共可用的):
<?php
$url = "https://www.ivory.co.il/sitemap.xml";
$xml = simplexml_load_file($url) or die ("Error: Cannot create object");
$locs = array();
for($i=0; $i<count($xml->url); $i++){
$locs[$i] = (string) $xml->url[$i]->loc;
}
echo "<pre>";
print_r($locs);
輸出:
Array
(
[0] => https://www.ivory.co.il/
[1] => https://www.ivory.co.il/%D7%97%D7%[...]
[2] => https://www.ivory.co.il/%D7%98%D7%[...]
[3] => https://www.ivory.co.il/%D7%9B%D7%[...]
[4] => https://www.ivory.co.il/%D7%9E%D7%[...]
[5] => https://www.ivory.co.il/%D7%9E%D7%[...]
[6] => https://www.ivory.co.il/%D7%9E%D7%[...]
[7] => https://www.ivory.co.il/%D7%9E%D7%[...]
[8] => https://www.ivory.co.il/%D7%9E%D7%[...]
[9] => https://www.ivory.co.il/%D7%9E%D7%[...]
[10] => https://www.ivory.co.il/%D7%9E%D7%[...]
[...]
)
然后,您可以訪問每個URI與curl
功能,迭代鏈接的陣列和處理每個訪問來獲取數據(文檔是在這里 ,和一些技巧在這里為好)。
例:
$curl = curl_init();
curl_setopt_array ($curl, array(
CURLOPT_URL => $locs[1],
CURLOPT_RETURNTRANSFER => true)
);
$result = curl_exec($curl);
curl_close ($curl);
echo $result;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.