1
私のコードでは、HTMLコード全体を取得し、以前のウェブサイトからすべてのJavaScript(AdSenseコード)を無視しようとしています。私は約800ページを持っていて、それを一つ一つコピーするのは難しいです。私が直面している主な問題は、Xpathが長すぎて、毎回エラーが出ることです。次に、HTMLコードではなくテキストのみを出力します。私はそれを解決する方法を知らない。php xPath print html table
を出力するには、私が取得しています
/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
でご利用いただけますマイXPathの私の現在の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