1
在我的代碼中,我試圖獲取HTML代碼中的整個代碼,並忽略了我的舊網站上的所有JavaScript代碼(AdSense代碼)。我有大約800頁,我很難一一複製。我面臨的主要問題是我的Xpath太長,每次都會給我一個錯誤,其次它只打印文本而不是HTML代碼。我不知道如何解決它。php xPath打印整個html表格
我的XPath
/html/body/div/div/div/div[4]/table/tbody/tr/td/div/h2/table/tbody/tr/td/div[1]/table/tbody/tr/td[1]/div/table/tbody/tr/td/div/table/tbody/tr/td/div/table/tbody/tr/td/div
錯誤我得到可在https://pastebin.com/FFRLr3vq
我目前的PHP代碼
error_reporting(E_ERROR);
$urls[] = "http://myoldwebsite.com/somepage.html";
function curlload($url) {
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 1);
$source = curl_exec($ch);
return $source;
}
foreach ($urls as $url) {
$source = curlLoad($url);
@$doc = new DOMDocument();
@$doc->loadHTML($source);
$xpath = new DomXPath($doc);
$nodeList = $xpath->query("//div[@class='pageContent']");
// To check the result:
echo "<p>" . $node->nodeValue . "</p>";
}
是否表有什麼屬性,你的連接到?你可以請張貼表格來源嗎?這會幫助我更好地幫助你。 – IamBatman
@IamBatman你可以請檢閱我的更新php代碼 – Rtra
@Rtra offtopic:你應該重命名你的函數爲'curlLoad'或稱之爲'curlload' - 但不要混淆案件。不要使用'@'來抑制錯誤。這是不好的做法。 – Xatenev