From b1493f6e70e7df754101b2c12b45d3da4a737853 Mon Sep 17 00:00:00 2001 From: krzysiej Date: Thu, 28 Jun 2018 15:01:53 +0200 Subject: [PATCH] Fetch and save info about authors. --- data.sample.db | Bin 24576 -> 28672 bytes index.php | 6 +++--- packt.php | 54 +++++++++++++++++++++++++++++++++++++++++++++++-- 3 files changed, 55 insertions(+), 5 deletions(-) diff --git a/data.sample.db b/data.sample.db index b28822942c581875147f18c9910fcc8fcdf6d346..9a92003ebf247ad0aba5cc5a0cc39ac6923f03c4 100644 GIT binary patch delta 449 zcmZoTz}WDBae}lU2Ll5GI}pQw-b5W^Ne%`*#wcFCWejXQ$qalUJa_o7^ZW9h=Skiy zD3Hjt`6gEvV|}?iySTnGW20tfUP@|3VrfZ6eo=fetAeMWi)(~J z0*2BA1%E#j;RFQ@E>4)b%#;KjAP-`4N&=T=Q>iq&xaj6bJjWQB7&IrZ;!~}!kz*HE z2D-(*Brz!`70Ci5CL7chA&yQyu6V8E^z;jHb$1O?@beE*@C)_vLAD=5l1sBupIw$+ zTvC#;F%!vth}BHkY@K|8&r&flH#LDX#5DqF1+q1n`4CYq&CS>OH611?uy8O4fFp-# Sv!KHl{z(qpo4EzP@&f?l0f$)t delta 157 zcmZp8z}Rqrae}lUI|Bm)8x%7EY3+$R#^US@dW=!Le9IV^dG0Xqh49?rzs{e+pR!p{ zAen3PO|CA+$xnC-IQf<_Hj0aiGPZ8M!*hm_iP3QKDn3=l?8&wKmXqyyMJ7k_y0c}< yu!+}(Prl19F*$)-l_}m3L~*hLEiwdRhRxUcH611fu(L7(IZQzF-}6rlUprepare('SELECT * FROM book WHERE category_slug = :category_slug'); $stmt->bindValue(':category_slug', $_GET['category'], SQLITE3_TEXT); -} elseif (isset($_POST['search']) && isset($_POST['title']) && !empty($_POST['title'])) { +} elseif (isset($_GET['search']) && isset($_GET['search_title']) && !empty($_GET['search_title'])) { $stmt = $db->prepare('SELECT * FROM book WHERE title like :search'); - $stmt->bindValue(':search', '%' . $_POST['title'] . '%', SQLITE3_TEXT); + $stmt->bindValue(':search', '%' . $_GET['search_title'] . '%', SQLITE3_TEXT); } else { $stmt = $db->prepare('SELECT * FROM book '); } $result = $stmt->execute(); -echo "
Clear
"; +echo "
Clear
"; echo ''; diff --git a/packt.php b/packt.php index 7db6e55..fee2065 100644 --- a/packt.php +++ b/packt.php @@ -96,6 +96,56 @@ function getBookInfo($bookUrl) } +$db = new SQLite3('data.db'); + +//$stmt = $db->prepare('SELECT * FROM book order by random() limit 1 '); +$stmt = $db->prepare('SELECT * FROM book'); +$booksResult = $stmt->execute(); + + +//$bookData = $result->fetchArray(SQLITE3_ASSOC); +echo '
';
+while ($book = $booksResult->fetchArray(SQLITE3_ASSOC)) {
+    $bookInfo = getBookInfo($book['url']);
+
+//    print_r($book);
+
+    foreach ($bookInfo['authors'] as $author) {
+
+
+        $stmt = $db->prepare('SELECT * FROM  author WHERE name = :name and bio = :bio');
+        $stmt->bindValue(':name', trim($author['name']), SQLITE3_TEXT);
+        $stmt->bindValue(':bio', trim(implode(' ', $author['bio'])), SQLITE3_TEXT);
+        $result = $stmt->execute();
+        $authorData = $result->fetchArray(SQLITE3_ASSOC);
+
+        if (!$authorData) {
+            $stmt = $db->prepare('INSERT INTO author(name, bio) VALUES  (:name, :bio)');
+            $stmt->bindValue(':name', trim($author['name']), SQLITE3_TEXT);
+            $stmt->bindValue(':bio', trim(implode(' ', $author['bio'])), SQLITE3_TEXT);
+            $result = $stmt->execute();
+
+            $stmt = $db->prepare('select seq from sqlite_sequence where name="author"');
+            $result = $stmt->execute();
+            $seqData = $result->fetchArray(SQLITE3_ASSOC);
+
+            $stmt = $db->prepare('INSERT INTO  book_author(book_id, author_id) VALUES  (:book_id, :author_id)');
+            $stmt->bindValue(':book_id', $book['id'], SQLITE3_INTEGER);
+            $stmt->bindValue(':author_id', $seqData['seq'], SQLITE3_INTEGER);
+            $result = $stmt->execute();
+        }
+        var_dump($authorData);
+
+    }
+}
+
+//print_r($bookData);
+//print_r($bookInfo);
+echo '
'; + +die(); + + $return = c('https://www.packtpub.com/', $loginData); $return = c('https://www.packtpub.com/account/my-ebooks'); $document = new Document($return); @@ -155,7 +205,7 @@ VALUES (:nid, :title, :isbn, :img, :url, :datepublished, :numberofpages, :revie $stmt->bindValue(':code', $bookData['code'], SQLITE3_TEXT); $result = $stmt->execute(); } - echo $dl.' - '; + echo $dl . ' - '; if ($dl > 500) { // var_dump($dl); die(); @@ -171,7 +221,7 @@ function downloadBook($url) $directory = directoryNameFromPath($url); $fullUrl = resolveBookUrl($url); - echo ($fullUrl)."\n"; + echo ($fullUrl) . "\n"; // var_dump($localPath); if (!is_dir($directory)) { mkdir($directory, 0777, true);