function json_fix_cyr($var) { if (is_array($var)) { $new = array(); foreach ($var as $k => $v) { $new[json_fix_cyr($k)] = json_fix_cyr($v); } $var = $new; } elseif (is_object($var)) { $vars = get_class_vars(get_class($var)); foreach ($vars as $m => $v) { $var->$m = json_fix_cyr($v); } } elseif (is_string($var)) { $var = iconv(DEFAULT_CHARSET, 'utf-8', $var); } return $var; }
foreach ($html->find('[class="article item clear"]') as $article) { if ($article->find('a[class="category"]', 0)) { $category = trim($article->find('a[class="category"]', 0)->plaintext); } else { $category = 'UNDEFINED'; } $title = trim($article->find('[class="title"]', 0)->find('[class="link"]', 0)->plaintext); $good = str_replace(" ", "", trim($article->find('[class="count good"]', 0)->plaintext)); $bad = str_replace(" ", "", trim($article->find('[class="count bad"]', 0)->plaintext)); $favs = str_replace(" ", "", trim($article->find('[class="param star_icon_wrapper"]', 0)->find('[class="value"]', 0)->plaintext)); $comments = str_replace(" ", "", trim($article->find('[data-post-data=\'{"to":"comments"}\']', 0)->plaintext)); $views = str_replace(" ", "", trim($article->find('[id^=postViews_]', 0)->plaintext)); $data[] = array('category' => $category, 'title' => $title, 'favs' => $favs, 'views' => $views, 'good' => $good, 'bad' => $bad, 'comments' => $comments); } } file_put_contents('data.json', json_fix_cyr(json_encode($data))); /*$data = array(); $siteURL = 'http://spark.ru/startups/0/0/'; for ($i = 1; $i < 188; $i++) { fwrite(STDOUT, $siteURL . $i . "\n"); $html = file_get_html($siteURL . $i); foreach ($html->find('table[class="list_block blist"] tr') as $startap) { $title = trim($startap->find('a[class="title"]', 0)->plaintext); $folowers = (int)trim($startap->find('a[title="Подписчиков"]', 0)->plaintext); $posts = (int)trim($startap->find('a[title="Записей в блоге"]', 0)->plaintext); $data[] = array( 'title' => $title,