|
1 | 1 | <?php
|
2 | 2 |
|
3 | 3 | include '../src/Gwt/Client.php';
|
| 4 | +include '../src/Gwt/Processor/ProcessorInterface.php'; |
| 5 | +include '../src/Gwt/Processor/ProcessorAbstract.php'; |
| 6 | +include '../src/Gwt/Processor/CsvWriter.php'; |
| 7 | +// load config values |
| 8 | +include 'config.sample.php'; |
4 | 9 |
|
5 | 10 | try {
|
6 |
| - $email = 'username@gmail.com'; |
7 |
| - $passwd = '******'; |
8 | 11 |
|
9 |
| - $gdata = Gwt_Client::create($email, $passwd); |
| 12 | + $client = Gwt_Client::create($email, $password) |
| 13 | + ->setDaterange( |
| 14 | + new DateTime('-10 day', new DateTimeZone('UTC')), |
| 15 | + new DateTime('-9 day', new DateTimeZone('UTC')) |
| 16 | + ) |
| 17 | + ->setLanguage('en') |
| 18 | + ; |
10 | 19 |
|
11 |
| - $sites = $gdata->GetSites(); |
12 |
| - foreach($sites as $site) { |
13 |
| - $gdata->downloadCSV($site, './csv'); |
14 |
| - } |
| 20 | + $sites = $client->getSites(); |
| 21 | + |
| 22 | + $client->addProcessor( |
| 23 | + Gwt_Processor_CsvWriter::factory(array( |
| 24 | + 'savePath' => '.', |
| 25 | + 'dateFormat' => 'Ymd-His', |
| 26 | + 'filenameTemplate' => '{website}' . DIRECTORY_SEPARATOR . '{tableName}-{date}.csv', |
| 27 | + )) |
| 28 | + ); |
| 29 | + foreach ($sites as $site => $siteOptions) { |
| 30 | + echo "Processing {$site} \n"; |
| 31 | + |
| 32 | + try { |
| 33 | + $client->setWebsite($site); |
| 34 | + } catch (Exception $e) { |
| 35 | + echo 'Caught exception: ', $e->getMessage(), "\n"; |
| 36 | + continue; |
| 37 | + } |
15 | 38 |
|
16 |
| - $files = $gdata->getDownloadedFiles(); |
17 |
| - foreach($files as $file) { |
18 |
| - echo 'Saved ', $file, "\n"; |
| 39 | + /* |
| 40 | + // using shorthand method |
| 41 | + $filename = $client->getTopQueriesTableData(); |
| 42 | + if (!$filename) { |
| 43 | + echo "Data for top queries from {$site} saved to {$filename} \n"; |
| 44 | + } else { |
| 45 | + echo "Unable to save data for top queries from {$site} \n"; |
| 46 | + } |
| 47 | + */ |
| 48 | + |
| 49 | + // looping through all available tables |
| 50 | + $allowedTables = $client->getAllowedTableNames(); |
| 51 | + foreach ($allowedTables as $tableName) { |
| 52 | + try { |
| 53 | + $filename = $client->getTableData($tableName); |
| 54 | + } catch (Exception $e) { |
| 55 | + echo "Error during loading data for {$tableName} : ", $e->getMessage(), "\n"; |
| 56 | + continue; |
| 57 | + } |
| 58 | + } |
| 59 | + if (!$filename) { |
| 60 | + echo "Data for {$tableName} from {$site} saved to {$filename} \n"; |
| 61 | + } else { |
| 62 | + echo "Unable to save data for {$tableName} from {$site} \n"; |
| 63 | + } |
19 | 64 | }
|
| 65 | + |
20 | 66 | } catch (Exception $e) {
|
| 67 | + throw $e; |
21 | 68 | die($e->getMessage());
|
22 | 69 | }
|
0 commit comments