I was trying to get username, title, comment count and video count from html source code. There are few blocks which each contains different details for this parameters. Here is code which scrap data but issue is it scrap all of them in list.
Like first all video count, then all comments count and so on. Not for each block separate. Consider this link for source code.
here is the code:
function getParameter($url)
{
$html = file_get_html($url);
if($html)
{
//we iterate all 'div.v' and select data from every 'div.v' separately
$containersDiv = $html->find('div.v');
foreach($containersDiv as $div)
{
$containers1 = $div->find('div[class=v-meta va] div.v-meta-entry');
foreach($containers1 as $container)
{
$plays = $container->find('.v-num'); // get nos of time video played
$item = new stdClass();
foreach($plays as $play)
{
$nos = $play->plaintext;
}
//echo $address;
}
$containers2 = $div->find('div[class=v-meta va] a'); //get user name
foreach($containers2 as $username)
{
$user = $username->plaintext;
}
$containers3 = $div->find('div.v-link a'); //get video title
foreach($containers3 as $title)
{
$title = $title->plaintext;
}
$commentcontainers = $div->find('div[class=v-meta va] div.v-meta-entry span'); //get nos of comments changed
foreach($commentcontainer as $cont)
{
$comments = $cont->plaintext;
}
}
return $data;
}
}
also there is issue at $commentcontainers = $div->find('div[class=v-meta va] div.v-meta-entry span');
. It gives Invalid argument supplied for foreach()
. I appreciate help if someone tell me where is issue