0

I'm using PHP Simple HTML DOM to scrape the data from a site. just like to know how to get the info separately without getting all together.

using this command i can get the full page.

$html = file_get_html('http://mp3skull.com/mp3/gangnam_style.html');    
foreach($html->find('div#song_html') as $e)
       echo $e->innertext . '<br>';

What i need is to get the Title, URL, time, bites separately.

<div id="song_html" class="show1">
            <div class="left">
            <!-- info mp3 here -->
                320 kbps<br />4:01<br />9.2 mb          </div>
            <div id="right_song">
                <div style="font-size:15px;"><b>Psy - Gangnam style (DJ Pasha Lee & DJ Vitaco remix) - Psy - Gangnam style (DJ Pasha Lee & DJ Vitaco remix) mp3</b></div>
                <div style="clear:both;"></div>
                <div style="float:left;">
                    <div style="float:left; height:27px; font-size:13px; padding-top:2px;">
                        <div style="float:left;"><a href="http://promodj.com/source/3594542/Psy_Gangnam_style_DJ_Pasha_Lee_DJ_Vitaco_remix.mp3" rel="nofollow" target="_blank" style="color:green;">Download</a></div> 
                                                <div style="margin-left:8px; float:left; width:27px; text-align:center;"><a href="javascript:void(0)" onclick="showPlayer_new(11683153, '77380784862db5cfb455861b62fdc62690aca7d2', 'psy', 'gangnam+style')" rel="nofollow" id="lk11683153" class="play_now">Play</a></div>                     
                                                                        <div style="margin-left:8px; float:left;"><a href="javascript:void(0)" onclick="showEmbed_new(11683153, '77380784862db5cfb455861b62fdc62690aca7d2')" rel="nofollow" id="em11683153" class="embed">Embed</a></div>
                                                <div style="margin-left:8px; float:left;"><a href="http://www.ringtonematcher.com/go/?sid=WDLL&artist=psy&song=gangnam+style" rel="nofollow" target="_blank" style="color:red;" title="Send Psy - Gangnam Style Ringtone to your Cell">Send Ringtone</a></div> 
                        <div style="clear:both;"></div>
                    </div>
                    <div id="player11683153" style="float:left; margin-left:10px;" class="player"></div>
                </div>  
                <div style="clear:both;"></div>
            </div>
            <div style="clear:both;"></div>
        </div>

Thanks in advance.

2
  • Then you forgot the rest of the required HTML tags for an HTML page, as well as the PHP tags <?php/?>. No wonder it doesn't work! Commented Oct 7, 2012 at 16:09
  • PHP opening and closing tags is there. i just didn't though anyone will look for that. and the code dose work i just need it them separately. anyways i got the answe i wanted below. thanks. Commented Oct 7, 2012 at 16:18

1 Answer 1

2

You can do this

$html = file_get_html('http://mp3skull.com/mp3/gangnam_style.html');
$list = array();
$x = 0 ;
foreach ( $html->find('div#song_html ') as $e ) {

    $song = array();
    $song['bit'] = preg_replace('!\s+!', ' ',$e->find('div', 0)->plaintext);
    $song['title'] = preg_replace('!\s+!', ' ',$e->find('div', 1)->plaintext);
    $song['url'] = preg_replace('!\s+!', ' ',$e->find('a', 0)->href);
    $list[] = $song;
}
echo "<pre>";
print_r($list);

Output

Array
(
    [0] => Array
        (
            [bit] =>  320 kbps 4:01 9.2 mb 
            [title] =>  Psy - Gangnam style (DJ Pasha Lee & DJ Vitaco remix) - Psy - Gangnam style (DJ Pasha Lee & DJ Vitaco remix) mp3 Download Play Embed Send Ringtone 
            [url] => http://promodj.com/source/3594542/Psy_Gangnam_style_DJ_Pasha_Lee_DJ_Vitaco_remix.mp3
        )

    [1] => Array
        (
            [bit] =>  320 kbps 4:01 9.2 mb 
            [title] =>  Psy - Gangnam style (DJ Pasha Lee & DJ Vitaco remix) - Psy - Gangnam style (DJ Pasha Lee & DJ Vitaco remix) mp3 Download Play Embed Send Ringtone 
            [url] => http://promodj.com/download/3608444/Psy_Gangnam_style_DJ_Pasha_lee_DJ_Vitaco_remix.mp3
        )

    [2] => Array
        (
            [bit] =>  128 kbps 4:21 3.98 mb 
            [title] =>  Psy - Gangnam Style (Boys Electro Mash-Up) - Psy Gangnam Style Boys Electro Mash Up mp3 Download Play Embed Send Ringtone 
            [url] => http://promodj.com/download/3614746/Psy_Gangnam_Style_Boys_Electro_Mash_Up.mp3
        )

    [3] => Array
        (
            [bit] =>  128 kbps 4:21 3.98 mb 
            [title] =>  Psy - Gangnam Style (Boys Electro Mash-Up) - Psy Gangnam Style Boys Electro Mash Up mp3 Download Play Embed Send Ringtone 
            [url] => http://promodj.com/source/3614746/Psy_Gangnam_Style_Boys_Electro_Mash_Up.mp3
        )

    [4] => Array
        (
            [bit] =>  192 kbps 2:53 3.97 mb 
            [title] =>  Jewish style Official parody to PSY GANGNAM STYLE MISSION ARIO REMIX DEMO FUNNY mp3 Download Play Embed Send Ringtone 
            [url] => http://promodj.com/download/3623591/Jewish_style_Official_parody_to_PSY_GANGNAM_STYLE_MISSION_ARIO_REMIX_DEMO_FUNNY.mp3
        )

    [5] => Array
        (
            [bit] =>  192 kbps 2:53 3.97 mb 
            [title] =>  Jewish style Official parody to PSY GANGNAM STYLE MISSION ARIO REMIX DEMO FUNNY mp3 Download Play Embed Send Ringtone 
            [url] => http://promodj.com/source/3623591/Jewish_style_Official_parody_to_PSY_GANGNAM_STYLE_MISSION_ARIO_REMIX_DEMO_FUNNY.mp3
        )

 ........ so many more 
Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.