$url = "http://api.blip.pl/tags/bieganie?limit=50&offset={$i}"; $curlopts = array(CURLOPT_USERAGENT => 'asystent/0.0.1 http://asystent.adblix.pl/', CURLOPT_HTTPHEADER => array('X-Blip-API: 0.02', 'Accept: application/json'), CURLOPT_RETURNTRANSFER => 1, CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_0, CURLOPT_CONNECTTIMEOUT => 10, CURLOPT_URL => $url); # ustawiamy opcje curl_setopt_array($ch, $curlopts); $json = curl_exec($ch); $HTTP_CODE = curl_getinfo($ch, CURLINFO_HTTP_CODE); $obj = json_decode($json); print "<h3>HTTP CODE: " . $HTTP_CODE . "</h3>"; //print "<h3>curl_exec:</h3>"; // print_r($obj); // print "<hr>"; $regexp = "/#bieganie[\\s]+([0-9]+)([\\.\\,]([0-9]+))*[\\s]*km([\\s]*;[\\s]*([0-9]+:[0-9]+(:[0-9]+)*))*/sim"; foreach ($obj as $blip) { if (preg_match($regexp, $blip->body, $matches)) { // print_r($matches); if ($duration = getduration($matches)) { print "<h3>" . str_replace('/users/', '', $blip->user_path) . ": " . floatval($matches[1] . "." . $matches[3]) . "km on " . $blip->created_at . " [dur. {$duration}]</h3>"; $runsql = sprintf("INSERT IGNORE INTO bieganie (blip_id, user, distance, rundate, blipsent, duration, bliptxt) VALUES (%d, '%s', %f, '%s', 0, %d, '%s')", $blip->id, str_replace('/users/', '', $blip->user_path), floatval($matches[1] . "." . $matches[3]), $blip->created_at, $duration, mysql_real_escape_string($blip->body)); // print "<br>$runsql<br>\n"; mysql_query($runsql); } else { print "<h3>" . str_replace('/users/', '', $blip->user_path) . ": " . floatval($matches[1] . "." . $matches[3]) . "km on " . $blip->created_at . "</h3>"; $runsql = sprintf("INSERT IGNORE INTO bieganie (blip_id, user, distance, rundate, blipsent, bliptxt) VALUES (%d, '%s', %f, '%s', 0, '%s')", $blip->id, str_replace('/users/', '', $blip->user_path), floatval($matches[1] . "." . $matches[3]), $blip->created_at, mysql_real_escape_string($blip->body)); // print "<br>$runsql<br>\n"; mysql_query($runsql); } } } } ?> </pre>
function save_runs($json_messages, $regexp, $debug = false) { global $blocked_users; $link = mysql_connect('localhost', 'cardinalpharma', 'tweets'); if (!$link) { die('Nie można się połaczyć: ' . mysql_error()); } $db_selected = mysql_select_db('cardinalpharma', $link); if (!$db_selected) { die('Nie można ustawić bazy : ' . mysql_error()); } mysql_query("SET character_set_client=utf-8", $link); mysql_query("SET character_set_connection=utf-8", $link); mysql_query("SET CHARSET utf8", $link); mysql_query("SET NAMES 'utf8' COLLATE 'utf8_polish_ci'", $link); foreach ($json_messages as $blip) { if (in_array($blip->user_path, $blocked_users)) { continue; } // if ($blip->user_path == '/users/biegacze') continue; if (preg_match($regexp, $blip->body, $matches)) { // print_r($matches); if ($duration = getduration($matches)) { if ($debug) { print "<h3>" . str_replace('/users/', '', $blip->user_path) . ": " . floatval($matches[1] . "." . $matches[3]) . "km on " . $blip->created_at . " [dur. {$duration}]</h3>"; } $runsql = sprintf("INSERT IGNORE INTO bieganie (blip_id, user, distance, rundate, blipsent, duration, bliptxt) VALUES (%d, '%s', %f, '%s', 0, %d, '%s')", $blip->id, str_replace('/users/', '', $blip->user_path), floatval($matches[1] . "." . $matches[3]), $blip->created_at, $duration, mysql_real_escape_string($blip->body)); if ($debug) { print "<br>{$runsql}<br>\n"; } mysql_query($runsql); } else { if ($debug) { print "<h3>" . str_replace('/users/', '', $blip->user_path) . ": " . floatval($matches[1] . "." . $matches[3]) . "km on " . $blip->created_at . "</h3>"; } $runsql = sprintf("INSERT IGNORE INTO bieganie (blip_id, user, distance, rundate, blipsent, bliptxt) VALUES (%d, '%s', %f, '%s', 0, '%s')", $blip->id, str_replace('/users/', '', $blip->user_path), floatval(@$matches[1] . "." . @$matches[3]), $blip->created_at, mysql_real_escape_string($blip->body)); if ($debug) { print "<br>{$runsql}<br>\n"; } mysql_query($runsql); } } } }