-4

http://www.frosher.com/schools/acme-academy-burdwan/contact

这是我保存在我的文件夹中的页面链接,并获取他们的地址以及他们学校的所有联系信息。您还可以在 Google 地图块之前看到他们的电子邮件和网络链接。我想获得电子邮件价值。

只需将此 html 页面保存在抓取文件夹中即可。这是我的代码:

<?php 
include('simple_html_dom.php');//Required
$i = 0; 
$dir = 'scraping/';//folder name in which your html file
if ($handle = opendir($dir)) {
    while (($file = readdir($handle)) !== false){
        if (!in_array($file, array('.', '..')) && !is_dir($dir.$file)) 
            $i++;
    }
}
$filenames = array();
foreach(glob('scraping/*.*') as $filename){
    $filenames[] = $filename;//get all files name which are in my folder
}
$i = 1;
foreach($filenames as $val){
    $doc = new DomDocument();
    $doc  = file_get_html($val);
    $ret = $doc->find('div[class=span5]'); 
    foreach($doc->find('.span7') as $element){
        $contact = $element->plaintext;     
        if (preg_match("/\bEmail\b/i", $contact, $match)) {
            $n = 0; // i have used $n for counting because in span7 div their are two a tag so i need only first time value.
            foreach($doc->find('.span7 a') as $element){
                if($n == 0){                    
                    $email = $element; 
                    $n = $n+1;
                }                   
            }           
        }
        else{
            $email = 'Null';
        }           
        echo $email;
        
    }       
    echo '<br/>';
}
?>

这是php脚本代码,用文件名保存它,并将php文件和scraping文件夹放在公共文件夹中,比如leo是放置php文件的文件夹,scraping文件夹也在其中。

现在运行 php 文件,您将看到输出。如果没有,那么您还必须在 leo 文件夹中包含“simple_html_dom.php”。

4

1 回答 1

0

如果您要获得整个标签,请尝试以下操作



foreach($doc->find('.span7 a') as $element){    

    $email = $element; 
    $email = strip_tags($email);
    //now you can check email
}
于 2013-08-26T04:50:03.733 回答