M Arfan
M Arfan

Reputation: 4575

Scraping a website using PHP "Simple HTML Dom Parser"

I'm having trouble figuring out how to use PHP Simple HTML DOM Parser for pulling information from a website.

require('simple_html_dom.php');
$html = file_get_html('https://example.com');

$ret = array();
foreach($html->find(".project-card-mini-wrap") as $element)  { 
   echo $element;   
}

The output of $element is:

<div class="project-card-mini-wrap"> 
<a class="project_item block mb2 green-dark"    href="/projects/andrewkostirev/kostirev-the-real-you">
<div class="project_thumbnail hover-group border border-box mb1"> 
     <img alt="Project image" class="hover-zoomin fit" src="https://ksr-ugc.imgix.net/projects/2123706/photo-original.png?v=1444253259&amp;w=218&amp;h=162&amp;fit=crop&amp;auto=format&amp;q=92&amp;s=9d6c437e96b720dce82fc9b598b3e8ae" /> 
    <div class="funding_tag highlight">10 days to go</div> 
   <div class="hover-zoomout bg-green-90"> 
   <p class="white p2 h5">A clothing brand like never seen before</p> 
</div> 
</div> 
<div class="project_name h5 bold"> KOSTIREV - THE REAL YOU </div>
</a>
</div>

This is the information I'd like to pull from the website:
1: Link href
2: Image src
3: Project name

Upvotes: 2

Views: 9971

Answers (3)

Edwin M
Edwin M

Reputation: 361

This is also a good library for scraping and traversing via HTML

https://github.com/paquettg/php-html-parser

Upvotes: -2

Dustin Maddox
Dustin Maddox

Reputation: 1

I tried this and it worked, thanks for the help! Here is something i made using primewire.ag as a example.... The goal here was to extract all the links of a given page.

<?php

require('simple_html_dom.php');

// Create DOM from URL or file
$html = file_get_html('http://www.primewire.ag/watch-2805774-Star-Wars-The-Last-Jedi-online-free');


// Find All Movie Links
$linkPrefix = 'http://primewire.ag';
$linkClass;
foreach($html->find(".movie_version_link") as $linkClass)  {
    echo "Link: ",$linkPrefix,$linkClass->find('a',0)->href,"<br/>\n";

}
?>

Upvotes: -1

jaggedsoft
jaggedsoft

Reputation: 4038

Hopefully this will provide some insight to you as well as other users of PHP Simple HTML DOM Parser

foreach($html->find(".project-card-mini-wrap") as $element)  { 
   echo "Project name: ",$element->find('.project_name',0)->innertext,"<br/>\n";
   echo "Image source: ",$element->find('img',0)->src,"<br/>\n";
   echo "Link: ",$element->find('a',0)->href,"<br/>\n";
}

Produces this output:

Project name: KOSTIREV - THE REAL YOU 
Image source: https://ksr-ugc.imgix.net/projects/2123706/photo-original.png?v=1444253259&w=218&h=162&fit=crop&auto=format&q=92&s=9d6c437e96b720dce82fc9b598b3e8ae
Link: /projects/andrewkostirev/kostirev-the-real-you

Upvotes: 2

Related Questions