2017-02-08 19 views
0

Webクローラを使用して、関連するテキストとともにサイト/ページからいくつかのリンクを抽出しようとしました。私は空白のページになる何かを逃したように思える。期待して行くように::webcrawlerの出力を使用してアンカーリンクをサイトから取得した場合、何も出力されない

<?php 
function get_data($url) { 
    $ch = curl_init(); 
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
    curl_setopt($ch, CURLOPT_URL,$url); 
    $result=curl_exec($ch); 
    curl_close($ch); 
    return $result; 
} 

$returned_content = get_data('file:///C:/xampp/htdocs/h/1.html'); 

$first_step = explode('<div class="NeededDiv">' , $returned_content); 
$second_step = explode('</div>', $first_step[0]); 
$third_step = explode('</a>', $second_step[0]); 
?> 

を行くようにあなたたちは特定を抽出しようとしているイムここでは、PHPのコード::

<!DOCTYPE html> 
<html> 
<head> 
    <title>test</title> 
</head> 
<body> 
    <div class="NeededDiv"> 
     <a href="link">text</a> 
     <a href="link">text</a> 
     <a href="link">text</a> 
     <a href="link">text</a> 
     <a href="link">text</a> 
    </div> 
    <div class="ExtraDiv"> 
     <a href=""></a> 
     <a href=""></a> 
     <a href=""></a> 
     <a href=""></a> 
     <a href=""></a> 
    </div> 
</body> 

を鉱山/

HTMLページのその間違いを指すことができますdivはPHPページを使用してページから。私は

+0

独自のHTMLパーサーをロールする必要はありません。代わりに[PHPのDOMDocument](http://php.net/manual/en/class.domdocument.php)を見てください。これは、PHPを使用してHTMLを解析するより良い方法です。 –

答えて

1

は、あなたが何を望むか、この..ですすべてのヘルプは高く評価され.. XAMPPローカルホストを経由して

をPHPページを開きましたか?

<?php 
$returned_content='<!DOCTYPE html> 
<html> 
<head> 
    <title>test</title> 
</head> 
<body> 
    <div class="NeededDiv"> 
     <a href="link">text</a> 
     <a href="link">text</a> 
     <a href="link">text</a> 
     <a href="link">text</a> 
     <a href="link">text</a> 
    </div> 
    <div class="ExtraDiv"> 
     <a href=""></a> 
     <a href=""></a> 
     <a href=""></a> 
     <a href=""></a> 
     <a href=""></a> 
    </div> 
</body>'; 

$dom = new DOMDocument; 
$dom->loadHTML($returned_content); 
foreach ($dom->getElementsByTagName('a') as $node) { 
    echo $node->getAttribute('href')."<br/>"; 
} 
?> 
+0

人はいない、彼らは別のページです。 htmlコンテンツは別のサイトのものですが、PHPコンテンツは私のページにあります。だから、私は私のページ(PHPのコンテンツ)を開くときにそれはdivクラスのリンクとテキストを画面に抽出する必要があります.. – harishk

+0

かなりあなたが必要としていることを確認します。あなたの 'get_data()'関数の戻り値に '$ returned_content'をセットするだけです – 131

関連する問題