diff --git a/output.json b/output.json index 887c7ef..010e0c5 100644 --- a/output.json +++ b/output.json @@ -1,197 +1,50 @@ -[{"course_link": "http://www.lynda.com/ASPNET-tutorials/Up-Running-ASPNET/158377-2.html", "course_title": "Up and Running with ASP.NET"}, -{"course_link": "http://www.lynda.com/PHP-tutorials/Exporting-Data-Files-PHP/158375-2.html", "course_title": "Exporting Data to Files with PHP"}, -{"course_link": "http://www.lynda.com/Developer-Web-Design-tutorials/Up-Running-CoffeeScript/154415-2.html", "course_title": "Up and Running with CoffeeScript"}, -{"course_link": "http://www.lynda.com/Visual-Studio-tutorials/Visual-Studio-2013-Web-Developers/157134-2.html", "course_title": "Visual Studio 2013 for Web Developers"}, -{"course_link": "http://www.lynda.com/Developer-Programming-Languages-tutorials/Building-Web-Services-Java-EE/149837-2.html", "course_title": "Building Web Services with Java EE"}, -{"course_link": "http://www.lynda.com/PHP-tutorials/Uploading-Files-Securely-PHP/158374-2.html", "course_title": "Uploading Files Securely with PHP"}, -{"course_link": "http://www.lynda.com/Developer-Web-Development-tutorials/Foundations-Programming-Web-Security/133330-2.html", "course_title": "Foundations of Programming: Web Security"}, -{"course_link": "http://www.lynda.com/Brackets-tutorials/Adobe-Edge-Code-Brackets-First-Look/149704-2.html", "course_title": "Adobe Edge Code and Brackets: First Look"}, -{"course_link": "http://www.lynda.com/Ruby-Rails-tutorials/Ruby-Rails-4-Essential-Training/139989-2.html", "course_title": "Ruby on Rails 4 Essential Training"}, -{"course_link": "http://www.lynda.com/PHP-tutorials/PHP-Web-Designers/146234-2.html", "course_title": "PHP for Web Designers"}, -{"course_link": "http://www.lynda.com/CakePHP-tutorials/Up-Running-CakePHP/126123-2.html", "course_title": "Up and Running with CakePHP"}, -{"course_link": "http://www.lynda.com/PHP-tutorials/Choosing-PHP-Editor/139995-2.html", "course_title": "Choosing a PHP Editor"}, -{"course_link": "http://www.lynda.com/JavaScript-tutorials/JavaScript-Events/140780-2.html", "course_title": "JavaScript: Events"}, -{"course_link": "http://www.lynda.com/Joomla-tutorials/Joomla-3-Essential-Training/110275-2.html", "course_title": "Joomla! 3 Essential Training"}, -{"course_link": "http://www.lynda.com/Shopify-tutorials/Up-Running-Shopify/133352-2.html", "course_title": "Up and Running with Shopify"}, -{"course_link": "http://www.lynda.com/OData-tutorials/Foundations-Programming-Web-Services/126131-2.html", "course_title": "Foundations of Programming: Web Services"}, -{"course_link": "http://www.lynda.com/CSS-tutorials/Working-Data-Web/133326-2.html", "course_title": "Working with Data on the Web"}, -{"course_link": "http://www.lynda.com/Azure-tutorials/Up-Running-Azure/128285-2.html", "course_title": "Up and Running with Azure"}, -{"course_link": "http://www.lynda.com/Azure-tutorials/Up-Running-Azure-Mobile-Services/135357-2.html", "course_title": "Up and Running with Azure Mobile Services"}, -{"course_link": "http://www.lynda.com/Bootstrap-tutorials/Bootstrap-3-Advanced-Web-Development/124079-2.html", "course_title": "Bootstrap 3: Advanced Web Development"}, -{"course_link": "http://www.lynda.com/Ruby-Rails-tutorials/Ruby-Rails-3-Essential-Training/55960-2.html", "course_title": "Ruby on Rails 3 Essential Training"}, -{"course_link": "http://www.lynda.com/Emmet-tutorials/Coding-Faster-Emmet/133353-2.html", "course_title": "Coding Faster with Emmet"}, -{"course_link": "http://www.lynda.com/jQuery-tutorials/Create-Interactive-Animated-Timeline-jQuery/124092-2.html", "course_title": "Create an Interactive Animated Timeline with jQuery"}, -{"course_link": "http://www.lynda.com/WordPress-tutorials/Start-Theme-Food-Blogs-WordPress/133348-2.html", "course_title": "Start with a Theme: Food Blogs in WordPress"}, -{"course_link": "http://www.lynda.com/CodeIgniter-tutorials/Up-Running-PHP-CodeIgniter/126122-2.html", "course_title": "Up and Running with PHP CodeIgniter"}, -{"course_link": "http://www.lynda.com/CSS-tutorials/HTML5-Projects-Creating-Responsive-Presentation/129007-2.html", "course_title": "HTML5 Projects: Creating a Responsive Presentation"}, -{"course_link": "http://www.lynda.com/Dreamweaver-tutorials/Dreamweaver-CC-Essential-Training/124084-2.html", "course_title": "Dreamweaver CC Essential Training"}, -{"course_link": "http://www.lynda.com/HTML-tutorials/JavaScript-Enhancing-DOM/122462-2.html", "course_title": "JavaScript: Enhancing the DOM"}, -{"course_link": "http://www.lynda.com/MySQL-tutorials/PHP-MySQL-Essential-Training/119003-2.html", "course_title": "PHP with MySQL Essential Training"}, -{"course_link": "http://www.lynda.com/Composer-tutorials/Up-Running-PHP-PEAR-PECL-Composer/119001-2.html", "course_title": "Up and Running with PHP: PEAR, PECL, and Composer"}, -{"course_link": "http://www.lynda.com/jQuery-tutorials/jQuery-Essential-Training/48370-2.html", "course_title": "jQuery Essential Training"}, -{"course_link": "http://www.lynda.com/Foundation-tutorials/Up-Running-Foundation/122442-2.html", "course_title": "Up and Running with Foundation"}, -{"course_link": "http://www.lynda.com/Bootstrap-tutorials/Bootstrap-Adding-Interactivity-Your-Site/122456-2.html", "course_title": "Bootstrap: Adding Interactivity to Your Site"}, -{"course_link": "http://www.lynda.com/WordPress-tutorials/WordPress-Ecommerce-Easy-Digital-Downloads/122465-2.html", "course_title": "WordPress Ecommerce: Easy Digital Downloads"}, -{"course_link": "http://www.lynda.com/Edge-Animate-tutorials/Creating-Animated-Infographic-Edge-Animate/124091-2.html", "course_title": "Creating an Animated Infographic with Edge Animate"}, -{"course_link": "http://www.lynda.com/Developer-Databases-tutorials/Validating-Processing-Forms-JavaScript-PHP/120466-2.html", "course_title": "Validating and Processing Forms with JavaScript and PHP"}, -{"course_link": "http://www.lynda.com/WordPress-tutorials/WordPress-Ecommerce-Core-Concepts/122463-2.html", "course_title": "WordPress Ecommerce: Core Concepts"}, -{"course_link": "http://www.lynda.com/Backbonejs-tutorials/Up-Running-Backbonejs/120900-2.html", "course_title": "Up and Running with Backbone.js"}, -{"course_link": "http://www.lynda.com/Edge-Animate-tutorials/Creating-Interactive-Projects-Edge-Animate/124307-2.html", "course_title": "Creating Interactive Projects with Edge Animate"}, -{"course_link": "http://www.lynda.com/jQuery-tutorials/Create-Sortable-Photo-Gallery-jQuery/114897-2.html", "course_title": "Create a Sortable Photo Gallery with jQuery"}, -{"course_link": "http://www.lynda.com/JavaScript-tutorials/JavaScript-JSON/114901-2.html", "course_title": "JavaScript and JSON"}, -{"course_link": "http://www.lynda.com/Edge-Animate-tutorials/Create-Homepage-Marquee-Edge-Animate/114898-2.html", "course_title": "Create a Homepage Marquee with Edge Animate"}, -{"course_link": "http://www.lynda.com/Visual-Studio-Express-tutorials/Building-Windows-Store-Game-Using-HTML-JavaScript/114892-2.html", "course_title": "Building a Windows Store Game Using HTML and JavaScript"}, -{"course_link": "http://www.lynda.com/CSS-tutorials/HTML5-Projects-Geolocation/118953-2.html", "course_title": "HTML5 Projects: Integrating Google Store Locator"}, -{"course_link": "http://www.lynda.com/ASP-NET-3-5-tutorials/asp-net-essential-training/784-2.html", "course_title": "ASP.NET Essential Training"}, -{"course_link": "http://www.lynda.com/Sublime-Text-tutorials/Up-Running-Sublime-Text-2/114325-2.html", "course_title": "Up and Running with Sublime Text 2"}, -{"course_link": "http://www.lynda.com/CSS-tutorials/CSS-Frameworks-Grids/112675-2.html", "course_title": "CSS: Frameworks and Grids"}, -{"course_link": "http://www.lynda.com/Developer-tutorials/JavaScript-and-AJAX/114900-2.html", "course_title": "JavaScript and AJAX"}, -{"course_link": "http://www.lynda.com/Facebook-tutorials/Building-Facebook-Applications-PHP-MySQL/107060-2.html", "course_title": "Building Facebook Applications with PHP and MySQL"}, -{"course_link": "http://www.lynda.com/Drupal-tutorials/Responsive-Design-Drupal/107419-2.html", "course_title": "Responsive Design with Drupal"}][{"course_link": "http://www.lynda.com/ASPNET-tutorials/Up-Running-ASPNET/158377-2.html", "course_title": "Up and Running with ASP.NET"}, -{"course_link": "http://www.lynda.com/PHP-tutorials/Exporting-Data-Files-PHP/158375-2.html", "course_title": "Exporting Data to Files with PHP"}, -{"course_link": "http://www.lynda.com/Developer-Web-Design-tutorials/Up-Running-CoffeeScript/154415-2.html", "course_title": "Up and Running with CoffeeScript"}, -{"course_link": "http://www.lynda.com/Visual-Studio-tutorials/Visual-Studio-2013-Web-Developers/157134-2.html", "course_title": "Visual Studio 2013 for Web Developers"}, -{"course_link": "http://www.lynda.com/Developer-Programming-Languages-tutorials/Building-Web-Services-Java-EE/149837-2.html", "course_title": "Building Web Services with Java EE"}, -{"course_link": "http://www.lynda.com/PHP-tutorials/Uploading-Files-Securely-PHP/158374-2.html", "course_title": "Uploading Files Securely with PHP"}, -{"course_link": "http://www.lynda.com/Developer-Web-Development-tutorials/Foundations-Programming-Web-Security/133330-2.html", "course_title": "Foundations of Programming: Web Security"}, -{"course_link": "http://www.lynda.com/Brackets-tutorials/Adobe-Edge-Code-Brackets-First-Look/149704-2.html", "course_title": "Adobe Edge Code and Brackets: First Look"}, -{"course_link": "http://www.lynda.com/Ruby-Rails-tutorials/Ruby-Rails-4-Essential-Training/139989-2.html", "course_title": "Ruby on Rails 4 Essential Training"}, -{"course_link": "http://www.lynda.com/PHP-tutorials/PHP-Web-Designers/146234-2.html", "course_title": "PHP for Web Designers"}, -{"course_link": "http://www.lynda.com/CakePHP-tutorials/Up-Running-CakePHP/126123-2.html", "course_title": "Up and Running with CakePHP"}, -{"course_link": "http://www.lynda.com/PHP-tutorials/Choosing-PHP-Editor/139995-2.html", "course_title": "Choosing a PHP Editor"}, -{"course_link": "http://www.lynda.com/JavaScript-tutorials/JavaScript-Events/140780-2.html", "course_title": "JavaScript: Events"}, -{"course_link": "http://www.lynda.com/Joomla-tutorials/Joomla-3-Essential-Training/110275-2.html", "course_title": "Joomla! 3 Essential Training"}, -{"course_link": "http://www.lynda.com/Shopify-tutorials/Up-Running-Shopify/133352-2.html", "course_title": "Up and Running with Shopify"}, -{"course_link": "http://www.lynda.com/OData-tutorials/Foundations-Programming-Web-Services/126131-2.html", "course_title": "Foundations of Programming: Web Services"}, -{"course_link": "http://www.lynda.com/CSS-tutorials/Working-Data-Web/133326-2.html", "course_title": "Working with Data on the Web"}, -{"course_link": "http://www.lynda.com/Azure-tutorials/Up-Running-Azure/128285-2.html", "course_title": "Up and Running with Azure"}, -{"course_link": "http://www.lynda.com/Azure-tutorials/Up-Running-Azure-Mobile-Services/135357-2.html", "course_title": "Up and Running with Azure Mobile Services"}, -{"course_link": "http://www.lynda.com/Bootstrap-tutorials/Bootstrap-3-Advanced-Web-Development/124079-2.html", "course_title": "Bootstrap 3: Advanced Web Development"}, -{"course_link": "http://www.lynda.com/Ruby-Rails-tutorials/Ruby-Rails-3-Essential-Training/55960-2.html", "course_title": "Ruby on Rails 3 Essential Training"}, -{"course_link": "http://www.lynda.com/Emmet-tutorials/Coding-Faster-Emmet/133353-2.html", "course_title": "Coding Faster with Emmet"}, -{"course_link": "http://www.lynda.com/jQuery-tutorials/Create-Interactive-Animated-Timeline-jQuery/124092-2.html", "course_title": "Create an Interactive Animated Timeline with jQuery"}, -{"course_link": "http://www.lynda.com/WordPress-tutorials/Start-Theme-Food-Blogs-WordPress/133348-2.html", "course_title": "Start with a Theme: Food Blogs in WordPress"}, -{"course_link": "http://www.lynda.com/CodeIgniter-tutorials/Up-Running-PHP-CodeIgniter/126122-2.html", "course_title": "Up and Running with PHP CodeIgniter"}, -{"course_link": "http://www.lynda.com/CSS-tutorials/HTML5-Projects-Creating-Responsive-Presentation/129007-2.html", "course_title": "HTML5 Projects: Creating a Responsive Presentation"}, -{"course_link": "http://www.lynda.com/Dreamweaver-tutorials/Dreamweaver-CC-Essential-Training/124084-2.html", "course_title": "Dreamweaver CC Essential Training"}, -{"course_link": "http://www.lynda.com/HTML-tutorials/JavaScript-Enhancing-DOM/122462-2.html", "course_title": "JavaScript: Enhancing the DOM"}, -{"course_link": "http://www.lynda.com/MySQL-tutorials/PHP-MySQL-Essential-Training/119003-2.html", "course_title": "PHP with MySQL Essential Training"}, -{"course_link": "http://www.lynda.com/Composer-tutorials/Up-Running-PHP-PEAR-PECL-Composer/119001-2.html", "course_title": "Up and Running with PHP: PEAR, PECL, and Composer"}, -{"course_link": "http://www.lynda.com/jQuery-tutorials/jQuery-Essential-Training/48370-2.html", "course_title": "jQuery Essential Training"}, -{"course_link": "http://www.lynda.com/Foundation-tutorials/Up-Running-Foundation/122442-2.html", "course_title": "Up and Running with Foundation"}, -{"course_link": "http://www.lynda.com/Bootstrap-tutorials/Bootstrap-Adding-Interactivity-Your-Site/122456-2.html", "course_title": "Bootstrap: Adding Interactivity to Your Site"}, -{"course_link": "http://www.lynda.com/WordPress-tutorials/WordPress-Ecommerce-Easy-Digital-Downloads/122465-2.html", "course_title": "WordPress Ecommerce: Easy Digital Downloads"}, -{"course_link": "http://www.lynda.com/Edge-Animate-tutorials/Creating-Animated-Infographic-Edge-Animate/124091-2.html", "course_title": "Creating an Animated Infographic with Edge Animate"}, -{"course_link": "http://www.lynda.com/Developer-Databases-tutorials/Validating-Processing-Forms-JavaScript-PHP/120466-2.html", "course_title": "Validating and Processing Forms with JavaScript and PHP"}, -{"course_link": "http://www.lynda.com/WordPress-tutorials/WordPress-Ecommerce-Core-Concepts/122463-2.html", "course_title": "WordPress Ecommerce: Core Concepts"}, -{"course_link": "http://www.lynda.com/Backbonejs-tutorials/Up-Running-Backbonejs/120900-2.html", "course_title": "Up and Running with Backbone.js"}, -{"course_link": "http://www.lynda.com/Edge-Animate-tutorials/Creating-Interactive-Projects-Edge-Animate/124307-2.html", "course_title": "Creating Interactive Projects with Edge Animate"}, -{"course_link": "http://www.lynda.com/jQuery-tutorials/Create-Sortable-Photo-Gallery-jQuery/114897-2.html", "course_title": "Create a Sortable Photo Gallery with jQuery"}, -{"course_link": "http://www.lynda.com/JavaScript-tutorials/JavaScript-JSON/114901-2.html", "course_title": "JavaScript and JSON"}, -{"course_link": "http://www.lynda.com/Edge-Animate-tutorials/Create-Homepage-Marquee-Edge-Animate/114898-2.html", "course_title": "Create a Homepage Marquee with Edge Animate"}, -{"course_link": "http://www.lynda.com/Visual-Studio-Express-tutorials/Building-Windows-Store-Game-Using-HTML-JavaScript/114892-2.html", "course_title": "Building a Windows Store Game Using HTML and JavaScript"}, -{"course_link": "http://www.lynda.com/CSS-tutorials/HTML5-Projects-Geolocation/118953-2.html", "course_title": "HTML5 Projects: Integrating Google Store Locator"}, -{"course_link": "http://www.lynda.com/ASP-NET-3-5-tutorials/asp-net-essential-training/784-2.html", "course_title": "ASP.NET Essential Training"}, -{"course_link": "http://www.lynda.com/Sublime-Text-tutorials/Up-Running-Sublime-Text-2/114325-2.html", "course_title": "Up and Running with Sublime Text 2"}, -{"course_link": "http://www.lynda.com/CSS-tutorials/CSS-Frameworks-Grids/112675-2.html", "course_title": "CSS: Frameworks and Grids"}, -{"course_link": "http://www.lynda.com/Developer-tutorials/JavaScript-and-AJAX/114900-2.html", "course_title": "JavaScript and AJAX"}, -{"course_link": "http://www.lynda.com/Facebook-tutorials/Building-Facebook-Applications-PHP-MySQL/107060-2.html", "course_title": "Building Facebook Applications with PHP and MySQL"}, -{"course_link": "http://www.lynda.com/Drupal-tutorials/Responsive-Design-Drupal/107419-2.html", "course_title": "Responsive Design with Drupal"}][{"course_link": "http://www.lynda.com/ASPNET-tutorials/Up-Running-ASPNET/158377-2.html", "course_title": "Up and Running with ASP.NET"}, -{"course_link": "http://www.lynda.com/PHP-tutorials/Exporting-Data-Files-PHP/158375-2.html", "course_title": "Exporting Data to Files with PHP"}, -{"course_link": "http://www.lynda.com/Developer-Web-Design-tutorials/Up-Running-CoffeeScript/154415-2.html", "course_title": "Up and Running with CoffeeScript"}, -{"course_link": "http://www.lynda.com/Visual-Studio-tutorials/Visual-Studio-2013-Web-Developers/157134-2.html", "course_title": "Visual Studio 2013 for Web Developers"}, -{"course_link": "http://www.lynda.com/Developer-Programming-Languages-tutorials/Building-Web-Services-Java-EE/149837-2.html", "course_title": "Building Web Services with Java EE"}, -{"course_link": "http://www.lynda.com/PHP-tutorials/Uploading-Files-Securely-PHP/158374-2.html", "course_title": "Uploading Files Securely with PHP"}, -{"course_link": "http://www.lynda.com/Developer-Web-Development-tutorials/Foundations-Programming-Web-Security/133330-2.html", "course_title": "Foundations of Programming: Web Security"}, -{"course_link": "http://www.lynda.com/Brackets-tutorials/Adobe-Edge-Code-Brackets-First-Look/149704-2.html", "course_title": "Adobe Edge Code and Brackets: First Look"}, -{"course_link": "http://www.lynda.com/Ruby-Rails-tutorials/Ruby-Rails-4-Essential-Training/139989-2.html", "course_title": "Ruby on Rails 4 Essential Training"}, -{"course_link": "http://www.lynda.com/PHP-tutorials/PHP-Web-Designers/146234-2.html", "course_title": "PHP for Web Designers"}, -{"course_link": "http://www.lynda.com/CakePHP-tutorials/Up-Running-CakePHP/126123-2.html", "course_title": "Up and Running with CakePHP"}, -{"course_link": "http://www.lynda.com/PHP-tutorials/Choosing-PHP-Editor/139995-2.html", "course_title": "Choosing a PHP Editor"}, -{"course_link": "http://www.lynda.com/JavaScript-tutorials/JavaScript-Events/140780-2.html", "course_title": "JavaScript: Events"}, -{"course_link": "http://www.lynda.com/Joomla-tutorials/Joomla-3-Essential-Training/110275-2.html", "course_title": "Joomla! 3 Essential Training"}, -{"course_link": "http://www.lynda.com/Shopify-tutorials/Up-Running-Shopify/133352-2.html", "course_title": "Up and Running with Shopify"}, -{"course_link": "http://www.lynda.com/OData-tutorials/Foundations-Programming-Web-Services/126131-2.html", "course_title": "Foundations of Programming: Web Services"}, -{"course_link": "http://www.lynda.com/CSS-tutorials/Working-Data-Web/133326-2.html", "course_title": "Working with Data on the Web"}, -{"course_link": "http://www.lynda.com/Azure-tutorials/Up-Running-Azure/128285-2.html", "course_title": "Up and Running with Azure"}, -{"course_link": "http://www.lynda.com/Azure-tutorials/Up-Running-Azure-Mobile-Services/135357-2.html", "course_title": "Up and Running with Azure Mobile Services"}, -{"course_link": "http://www.lynda.com/Bootstrap-tutorials/Bootstrap-3-Advanced-Web-Development/124079-2.html", "course_title": "Bootstrap 3: Advanced Web Development"}, -{"course_link": "http://www.lynda.com/Ruby-Rails-tutorials/Ruby-Rails-3-Essential-Training/55960-2.html", "course_title": "Ruby on Rails 3 Essential Training"}, -{"course_link": "http://www.lynda.com/Emmet-tutorials/Coding-Faster-Emmet/133353-2.html", "course_title": "Coding Faster with Emmet"}, -{"course_link": "http://www.lynda.com/jQuery-tutorials/Create-Interactive-Animated-Timeline-jQuery/124092-2.html", "course_title": "Create an Interactive Animated Timeline with jQuery"}, -{"course_link": "http://www.lynda.com/WordPress-tutorials/Start-Theme-Food-Blogs-WordPress/133348-2.html", "course_title": "Start with a Theme: Food Blogs in WordPress"}, -{"course_link": "http://www.lynda.com/CodeIgniter-tutorials/Up-Running-PHP-CodeIgniter/126122-2.html", "course_title": "Up and Running with PHP CodeIgniter"}, -{"course_link": "http://www.lynda.com/CSS-tutorials/HTML5-Projects-Creating-Responsive-Presentation/129007-2.html", "course_title": "HTML5 Projects: Creating a Responsive Presentation"}, -{"course_link": "http://www.lynda.com/Dreamweaver-tutorials/Dreamweaver-CC-Essential-Training/124084-2.html", "course_title": "Dreamweaver CC Essential Training"}, -{"course_link": "http://www.lynda.com/HTML-tutorials/JavaScript-Enhancing-DOM/122462-2.html", "course_title": "JavaScript: Enhancing the DOM"}, -{"course_link": "http://www.lynda.com/MySQL-tutorials/PHP-MySQL-Essential-Training/119003-2.html", "course_title": "PHP with MySQL Essential Training"}, -{"course_link": "http://www.lynda.com/Composer-tutorials/Up-Running-PHP-PEAR-PECL-Composer/119001-2.html", "course_title": "Up and Running with PHP: PEAR, PECL, and Composer"}, -{"course_link": "http://www.lynda.com/jQuery-tutorials/jQuery-Essential-Training/48370-2.html", "course_title": "jQuery Essential Training"}, -{"course_link": "http://www.lynda.com/Foundation-tutorials/Up-Running-Foundation/122442-2.html", "course_title": "Up and Running with Foundation"}, -{"course_link": "http://www.lynda.com/Bootstrap-tutorials/Bootstrap-Adding-Interactivity-Your-Site/122456-2.html", "course_title": "Bootstrap: Adding Interactivity to Your Site"}, -{"course_link": "http://www.lynda.com/WordPress-tutorials/WordPress-Ecommerce-Easy-Digital-Downloads/122465-2.html", "course_title": "WordPress Ecommerce: Easy Digital Downloads"}, -{"course_link": "http://www.lynda.com/Edge-Animate-tutorials/Creating-Animated-Infographic-Edge-Animate/124091-2.html", "course_title": "Creating an Animated Infographic with Edge Animate"}, -{"course_link": "http://www.lynda.com/Developer-Databases-tutorials/Validating-Processing-Forms-JavaScript-PHP/120466-2.html", "course_title": "Validating and Processing Forms with JavaScript and PHP"}, -{"course_link": "http://www.lynda.com/WordPress-tutorials/WordPress-Ecommerce-Core-Concepts/122463-2.html", "course_title": "WordPress Ecommerce: Core Concepts"}, -{"course_link": "http://www.lynda.com/Backbonejs-tutorials/Up-Running-Backbonejs/120900-2.html", "course_title": "Up and Running with Backbone.js"}, -{"course_link": "http://www.lynda.com/Edge-Animate-tutorials/Creating-Interactive-Projects-Edge-Animate/124307-2.html", "course_title": "Creating Interactive Projects with Edge Animate"}, -{"course_link": "http://www.lynda.com/jQuery-tutorials/Create-Sortable-Photo-Gallery-jQuery/114897-2.html", "course_title": "Create a Sortable Photo Gallery with jQuery"}, -{"course_link": "http://www.lynda.com/JavaScript-tutorials/JavaScript-JSON/114901-2.html", "course_title": "JavaScript and JSON"}, -{"course_link": "http://www.lynda.com/Edge-Animate-tutorials/Create-Homepage-Marquee-Edge-Animate/114898-2.html", "course_title": "Create a Homepage Marquee with Edge Animate"}, -{"course_link": "http://www.lynda.com/Visual-Studio-Express-tutorials/Building-Windows-Store-Game-Using-HTML-JavaScript/114892-2.html", "course_title": "Building a Windows Store Game Using HTML and JavaScript"}, -{"course_link": "http://www.lynda.com/CSS-tutorials/HTML5-Projects-Geolocation/118953-2.html", "course_title": "HTML5 Projects: Integrating Google Store Locator"}, -{"course_link": "http://www.lynda.com/ASP-NET-3-5-tutorials/asp-net-essential-training/784-2.html", "course_title": "ASP.NET Essential Training"}, -{"course_link": "http://www.lynda.com/Sublime-Text-tutorials/Up-Running-Sublime-Text-2/114325-2.html", "course_title": "Up and Running with Sublime Text 2"}, -{"course_link": "http://www.lynda.com/CSS-tutorials/CSS-Frameworks-Grids/112675-2.html", "course_title": "CSS: Frameworks and Grids"}, -{"course_link": "http://www.lynda.com/Developer-tutorials/JavaScript-and-AJAX/114900-2.html", "course_title": "JavaScript and AJAX"}, -{"course_link": "http://www.lynda.com/Facebook-tutorials/Building-Facebook-Applications-PHP-MySQL/107060-2.html", "course_title": "Building Facebook Applications with PHP and MySQL"}, -{"course_link": "http://www.lynda.com/Drupal-tutorials/Responsive-Design-Drupal/107419-2.html", "course_title": "Responsive Design with Drupal"}][{"course_link": "http://www.lynda.com/ASPNET-tutorials/Up-Running-ASPNET/158377-2.html", "course_title": "Up and Running with ASP.NET"}, -{"course_link": "http://www.lynda.com/PHP-tutorials/Exporting-Data-Files-PHP/158375-2.html", "course_title": "Exporting Data to Files with PHP"}, -{"course_link": "http://www.lynda.com/Developer-Web-Design-tutorials/Up-Running-CoffeeScript/154415-2.html", "course_title": "Up and Running with CoffeeScript"}, -{"course_link": "http://www.lynda.com/Visual-Studio-tutorials/Visual-Studio-2013-Web-Developers/157134-2.html", "course_title": "Visual Studio 2013 for Web Developers"}, -{"course_link": "http://www.lynda.com/Developer-Programming-Languages-tutorials/Building-Web-Services-Java-EE/149837-2.html", "course_title": "Building Web Services with Java EE"}, -{"course_link": "http://www.lynda.com/PHP-tutorials/Uploading-Files-Securely-PHP/158374-2.html", "course_title": "Uploading Files Securely with PHP"}, -{"course_link": "http://www.lynda.com/Developer-Web-Development-tutorials/Foundations-Programming-Web-Security/133330-2.html", "course_title": "Foundations of Programming: Web Security"}, -{"course_link": "http://www.lynda.com/Brackets-tutorials/Adobe-Edge-Code-Brackets-First-Look/149704-2.html", "course_title": "Adobe Edge Code and Brackets: First Look"}, -{"course_link": "http://www.lynda.com/Ruby-Rails-tutorials/Ruby-Rails-4-Essential-Training/139989-2.html", "course_title": "Ruby on Rails 4 Essential Training"}, -{"course_link": "http://www.lynda.com/PHP-tutorials/PHP-Web-Designers/146234-2.html", "course_title": "PHP for Web Designers"}, -{"course_link": "http://www.lynda.com/CakePHP-tutorials/Up-Running-CakePHP/126123-2.html", "course_title": "Up and Running with CakePHP"}, -{"course_link": "http://www.lynda.com/PHP-tutorials/Choosing-PHP-Editor/139995-2.html", "course_title": "Choosing a PHP Editor"}, -{"course_link": "http://www.lynda.com/JavaScript-tutorials/JavaScript-Events/140780-2.html", "course_title": "JavaScript: Events"}, -{"course_link": "http://www.lynda.com/Joomla-tutorials/Joomla-3-Essential-Training/110275-2.html", "course_title": "Joomla! 3 Essential Training"}, -{"course_link": "http://www.lynda.com/Shopify-tutorials/Up-Running-Shopify/133352-2.html", "course_title": "Up and Running with Shopify"}, -{"course_link": "http://www.lynda.com/OData-tutorials/Foundations-Programming-Web-Services/126131-2.html", "course_title": "Foundations of Programming: Web Services"}, -{"course_link": "http://www.lynda.com/CSS-tutorials/Working-Data-Web/133326-2.html", "course_title": "Working with Data on the Web"}, -{"course_link": "http://www.lynda.com/Azure-tutorials/Up-Running-Azure/128285-2.html", "course_title": "Up and Running with Azure"}, -{"course_link": "http://www.lynda.com/Azure-tutorials/Up-Running-Azure-Mobile-Services/135357-2.html", "course_title": "Up and Running with Azure Mobile Services"}, -{"course_link": "http://www.lynda.com/Bootstrap-tutorials/Bootstrap-3-Advanced-Web-Development/124079-2.html", "course_title": "Bootstrap 3: Advanced Web Development"}, -{"course_link": "http://www.lynda.com/Ruby-Rails-tutorials/Ruby-Rails-3-Essential-Training/55960-2.html", "course_title": "Ruby on Rails 3 Essential Training"}, -{"course_link": "http://www.lynda.com/Emmet-tutorials/Coding-Faster-Emmet/133353-2.html", "course_title": "Coding Faster with Emmet"}, -{"course_link": "http://www.lynda.com/jQuery-tutorials/Create-Interactive-Animated-Timeline-jQuery/124092-2.html", "course_title": "Create an Interactive Animated Timeline with jQuery"}, -{"course_link": "http://www.lynda.com/WordPress-tutorials/Start-Theme-Food-Blogs-WordPress/133348-2.html", "course_title": "Start with a Theme: Food Blogs in WordPress"}, -{"course_link": "http://www.lynda.com/CodeIgniter-tutorials/Up-Running-PHP-CodeIgniter/126122-2.html", "course_title": "Up and Running with PHP CodeIgniter"}, -{"course_link": "http://www.lynda.com/CSS-tutorials/HTML5-Projects-Creating-Responsive-Presentation/129007-2.html", "course_title": "HTML5 Projects: Creating a Responsive Presentation"}, -{"course_link": "http://www.lynda.com/Dreamweaver-tutorials/Dreamweaver-CC-Essential-Training/124084-2.html", "course_title": "Dreamweaver CC Essential Training"}, -{"course_link": "http://www.lynda.com/HTML-tutorials/JavaScript-Enhancing-DOM/122462-2.html", "course_title": "JavaScript: Enhancing the DOM"}, -{"course_link": "http://www.lynda.com/MySQL-tutorials/PHP-MySQL-Essential-Training/119003-2.html", "course_title": "PHP with MySQL Essential Training"}, -{"course_link": "http://www.lynda.com/Composer-tutorials/Up-Running-PHP-PEAR-PECL-Composer/119001-2.html", "course_title": "Up and Running with PHP: PEAR, PECL, and Composer"}, -{"course_link": "http://www.lynda.com/jQuery-tutorials/jQuery-Essential-Training/48370-2.html", "course_title": "jQuery Essential Training"}, -{"course_link": "http://www.lynda.com/Foundation-tutorials/Up-Running-Foundation/122442-2.html", "course_title": "Up and Running with Foundation"}, -{"course_link": "http://www.lynda.com/Bootstrap-tutorials/Bootstrap-Adding-Interactivity-Your-Site/122456-2.html", "course_title": "Bootstrap: Adding Interactivity to Your Site"}, -{"course_link": "http://www.lynda.com/WordPress-tutorials/WordPress-Ecommerce-Easy-Digital-Downloads/122465-2.html", "course_title": "WordPress Ecommerce: Easy Digital Downloads"}, -{"course_link": "http://www.lynda.com/Edge-Animate-tutorials/Creating-Animated-Infographic-Edge-Animate/124091-2.html", "course_title": "Creating an Animated Infographic with Edge Animate"}, -{"course_link": "http://www.lynda.com/Developer-Databases-tutorials/Validating-Processing-Forms-JavaScript-PHP/120466-2.html", "course_title": "Validating and Processing Forms with JavaScript and PHP"}, -{"course_link": "http://www.lynda.com/WordPress-tutorials/WordPress-Ecommerce-Core-Concepts/122463-2.html", "course_title": "WordPress Ecommerce: Core Concepts"}, -{"course_link": "http://www.lynda.com/Backbonejs-tutorials/Up-Running-Backbonejs/120900-2.html", "course_title": "Up and Running with Backbone.js"}, -{"course_link": "http://www.lynda.com/Edge-Animate-tutorials/Creating-Interactive-Projects-Edge-Animate/124307-2.html", "course_title": "Creating Interactive Projects with Edge Animate"}, -{"course_link": "http://www.lynda.com/jQuery-tutorials/Create-Sortable-Photo-Gallery-jQuery/114897-2.html", "course_title": "Create a Sortable Photo Gallery with jQuery"}, -{"course_link": "http://www.lynda.com/JavaScript-tutorials/JavaScript-JSON/114901-2.html", "course_title": "JavaScript and JSON"}, -{"course_link": "http://www.lynda.com/Edge-Animate-tutorials/Create-Homepage-Marquee-Edge-Animate/114898-2.html", "course_title": "Create a Homepage Marquee with Edge Animate"}, -{"course_link": "http://www.lynda.com/Visual-Studio-Express-tutorials/Building-Windows-Store-Game-Using-HTML-JavaScript/114892-2.html", "course_title": "Building a Windows Store Game Using HTML and JavaScript"}, -{"course_link": "http://www.lynda.com/CSS-tutorials/HTML5-Projects-Geolocation/118953-2.html", "course_title": "HTML5 Projects: Integrating Google Store Locator"}, -{"course_link": "http://www.lynda.com/ASP-NET-3-5-tutorials/asp-net-essential-training/784-2.html", "course_title": "ASP.NET Essential Training"}, -{"course_link": "http://www.lynda.com/Sublime-Text-tutorials/Up-Running-Sublime-Text-2/114325-2.html", "course_title": "Up and Running with Sublime Text 2"}, -{"course_link": "http://www.lynda.com/CSS-tutorials/CSS-Frameworks-Grids/112675-2.html", "course_title": "CSS: Frameworks and Grids"}, -{"course_link": "http://www.lynda.com/Developer-tutorials/JavaScript-and-AJAX/114900-2.html", "course_title": "JavaScript and AJAX"}, -{"course_link": "http://www.lynda.com/Facebook-tutorials/Building-Facebook-Applications-PHP-MySQL/107060-2.html", "course_title": "Building Facebook Applications with PHP and MySQL"}, -{"course_link": "http://www.lynda.com/Drupal-tutorials/Responsive-Design-Drupal/107419-2.html", "course_title": "Responsive Design with Drupal"}] \ No newline at end of file +[{"course_link": "/3D-Animation-Design-Techniques-tutorials/Power-PreViz-One-Co/98575-2.html", "course_title": "The Power of PreViz at One & Co"}, +{"course_link": "/3D-Animation-Design-Techniques-tutorials/Power-PreViz-One-Co/98575-2.html", "course_title": "Foundations of Typography"}, +{"course_link": "/Design-Typography-tutorials/Foundations-Typography/106698-2.html", "course_title": "Up and Running with Excel 2010"}, +{"course_link": "/Design-Typography-tutorials/Foundations-Typography/106698-2.html", "course_title": "Writing Fundamentals: The Craft of Story"}, +{"course_link": "/Excel-tutorials/Up-Running-Excel-2010/123569-2.html", "course_title": "Mixing a Short Film with Pro Tools"}, +{"course_link": "/Excel-tutorials/Up-Running-Excel-2010/123569-2.html", "course_title": "Office 2013 New Features"}, +{"course_link": "/Business-Business-Skills-tutorials/Writing-Fundamentals-Craft-Story/89962-2.html", "course_title": "Word 2013 Essential Training"}, +{"course_link": "/Business-Business-Skills-tutorials/Writing-Fundamentals-Craft-Story/89962-2.html", "course_title": "Excel 2013 Essential Training"}, +{"course_link": "/Pro-Tools-tutorials/Mixing-Short-Film-Pro-Tools/111780-2.html", "course_title": "Creating a Mail Merge in Word 2010"}, +{"course_link": "/Pro-Tools-tutorials/Mixing-Short-Film-Pro-Tools/111780-2.html", "course_title": "VFX Techniques: Tracking Objects onto a Face"}, +{"course_link": "/Office-tutorials/Office-2013-New-Features/84528-2.html", "course_title": "Design the Web: Clipping Masks"}, +{"course_link": "/Office-tutorials/Office-2013-New-Features/84528-2.html", "course_title": "Android SDK: Local Data Storage"}, +{"course_link": "/Office-tutorials/Word-2013-Essential-Training/115862-2.html", "course_title": "Foundations of Programming: Databases"}, +{"course_link": "/Office-tutorials/Word-2013-Essential-Training/115862-2.html", "course_title": "Photoshop CS6 Creative Cloud New Features Workshop"}, +{"course_link": "/Excel-tutorials/Excel-2013-Essential-Training/116478-2.html", "course_title": "Rendering Using Cycles in Blender"}, +{"course_link": "/Excel-tutorials/Excel-2013-Essential-Training/116478-2.html", "course_title": "Photoshop Elements 11 Essentials: 03 Sharing and Printing Photos"}, +{"course_link": "/Office-tutorials/Creating-Mail-Merge-Word-2010/123568-2.html", "course_title": "Audio Mastering Techniques"}, +{"course_link": "/Office-tutorials/Creating-Mail-Merge-Word-2010/123568-2.html", "course_title": "CSS: Frameworks and Grids"}, +{"course_link": "/After-Effects-tutorials/VFX-Techniques-Tracking-Objects-Onto-Face/114013-2.html", "course_title": "The Creative Spark: Brian Taylor, Handmade Photography"}, +{"course_link": "/After-Effects-tutorials/VFX-Techniques-Tracking-Objects-Onto-Face/114013-2.html", "course_title": "JavaScript and AJAX"}, +{"course_link": "/Photoshop-tutorials/Web-Design-Lab-Using-Clipping-Masks-Nondestructive-Cropping/114906-2.html", "course_title": "Up and Running with PowerPoint 2010"}, +{"course_link": "/Photoshop-tutorials/Web-Design-Lab-Using-Clipping-Masks-Nondestructive-Cropping/114906-2.html", "course_title": "Managing Small Projects"}, +{"course_link": "/Android-tutorials/Android-SDK-Local-Data-Storage/112584-2.html", "course_title": "After Effects Apprentice 16: Creating a Medical Opening Title"}, +{"course_link": "/Android-tutorials/Android-SDK-Local-Data-Storage/112584-2.html", "course_title": "Building Facebook Applications with PHP and MySQL"}, +{"course_link": "/Programming-tutorials/Foundations-Programming-Databases/112585-2.html", "course_title": "iOS SDK and SQLite: Building Data-Driven Apps"}, +{"course_link": "/Programming-tutorials/Foundations-Programming-Databases/112585-2.html", "course_title": "Photoshop CS6 New Features"}, +{"course_link": "/Photoshop-tutorials/Photoshop-CS6-Creative-Cloud-New-Features-Workshop/123564-2.html", "course_title": "VFX Techniques: Crowd Replication with After Effects"}, +{"course_link": "/Photoshop-tutorials/Photoshop-CS6-Creative-Cloud-New-Features-Workshop/123564-2.html", "course_title": "Aperture 3.3/3.4 New Features Overview"}, +{"course_link": "/Blender-tutorials/Photorealistic-Rendering-using-Cycles-Blender/117544-2.html", "course_title": "Responsive Design with Drupal"}, +{"course_link": "/Blender-tutorials/Photorealistic-Rendering-using-Cycles-Blender/117544-2.html", "course_title": "Up and Running with Windows 8"}, +{"course_link": "/Photoshop-Elements-tutorials/Photoshop-Elements-11-Essentials-03-Sharing-Printing-Photos/117104-2.html", "course_title": "Multilingual Publishing Strategies with InDesign"}, +{"course_link": "/Photoshop-Elements-tutorials/Photoshop-Elements-11-Essentials-03-Sharing-Printing-Photos/117104-2.html", "course_title": "Templating with Joomla! 3 and Bootstrap"}, +{"course_link": "/Mastering-tutorials/Audio-Mastering-Techniques/109358-2.html", "course_title": "ASP.NET MVC 4 Essential Training"}, +{"course_link": "/Mastering-tutorials/Audio-Mastering-Techniques/109358-2.html", "course_title": "Getting Started with Muse"}, +{"course_link": "/CSS-tutorials/CSS-Frameworks-Grids/112675-2.html", "course_title": "Photoshop Artist in Action: Tim Grey's Abandoned Farmhouse"}, +{"course_link": "/CSS-tutorials/CSS-Frameworks-Grids/112675-2.html", "course_title": "Photoshop Elements 11 Essentials: 01 Importing and Organizing Photos"}, +{"course_link": "/Photography-Documentaries-tutorials/Creative-Spark-Brian-Taylor-Handmade-Photography/101505-2.html", "course_title": "Digital Painting: Architecture"}, +{"course_link": "/Photography-Documentaries-tutorials/Creative-Spark-Brian-Taylor-Handmade-Photography/101505-2.html", "course_title": "Leading Productive Meetings"}, +{"course_link": "/Developer-tutorials/JavaScript-and-AJAX/114900-2.html", "course_title": "Discovering Your Strengths"}, +{"course_link": "/Developer-tutorials/JavaScript-and-AJAX/114900-2.html", "course_title": "Becoming a Thought Leader"}, +{"course_link": "/Office-tutorials/Up-Running-PowerPoint-2010/123567-2.html", "course_title": "Enhancing Your Productivity"}, +{"course_link": "/Office-tutorials/Up-Running-PowerPoint-2010/123567-2.html", "course_title": "Building Your Professional Network"}, +{"course_link": "/Business-Skills-tutorials/Managing-Small-Projects/105326-2.html", "course_title": "Thinking Like a Leader"}, +{"course_link": "/Business-Skills-tutorials/Managing-Small-Projects/105326-2.html", "course_title": "How to Use the lynda.com Partners Site"}, +{"course_link": "/After-Effects-tutorials/After-Effects-Apprentice-16-Creating-Medical-Opening-Title/79644-2.html", "course_title": "Developing Brand Identity Collateral"}, +{"course_link": "/After-Effects-tutorials/After-Effects-Apprentice-16-Creating-Medical-Opening-Title/79644-2.html", "course_title": "Photoshop Artist in Action: Tim Grey's Prayer Sticks"}, +{"course_link": "/Facebook-tutorials/Building-Facebook-Applications-PHP-MySQL/107060-2.html", "course_title": "Drawing Vector Graphics"}, +{"course_link": "/Facebook-tutorials/Building-Facebook-Applications-PHP-MySQL/107060-2.html", "course_title": "iPhone and iPod touch iOS 6 Essential Training"}, +{"course_link": "/Developer-tutorials/iOS-SDK-SQLite-Building-Data-Driven-Apps/107075-2.html", "course_title": "User Experience Fundamentals for Web Design"}, +{"course_link": "/Developer-tutorials/iOS-SDK-SQLite-Building-Data-Driven-Apps/107075-2.html", "course_title": "Photorealistic Lighting with Maya and Nuke"}] \ No newline at end of file diff --git a/try_scrapy/spiders/test_spider.py b/try_scrapy/spiders/test_spider.py index b7e9231..b995f69 100644 --- a/try_scrapy/spiders/test_spider.py +++ b/try_scrapy/spiders/test_spider.py @@ -1,30 +1,53 @@ from scrapy.spider import Spider from scrapy.selector import Selector +from scrapy.http import Request from try_scrapy.items import LyndaItem from scrapy.contrib.spiders import CrawlSpider, Rule from scrapy.contrib.linkextractors.sgml import SgmlLinkExtractor +from scrapy.shell import inspect_response +import urlparse,urllib +base_url=r"http://www.lynda.com" class lynda_spider(CrawlSpider): name="get_lynda" # allowed_domains = ["dmoz.org"] - start_urls=[r"file:///C:/Users/b/Downloads/Learn%20Web%20Development%20with%20Video%20Courses%20and%20Tutorials%20from%20lynda.com.htm"] - rules = ( - Rule(SgmlLinkExtractor(attrs=["href","data-url"],allow=[r".*?page=\d+.*"])), - ) + start_urls=[base_url+"/allcourses"] + def parse(self,response): sel = Selector(response) - course_a=sel.xpath(r'//*[@class="course-list"]//li//*[@class="details-row"]/h3/a') - # print course_a.extract() + items=[] + + next_page =sel.xpath("//a[contains(@class,'see-more-results')]/@data-url").extract() + if next_page: + next_page=next_page[0] + + next_page=urlparse.urljoin(base_url,next_page) + parsed_url=urlparse.urlparse(next_page) + parsed_qs=urlparse.parse_qs(parsed_url.query) + parsed_qs.pop("ajax") + for tmp_qs in parsed_qs: + parsed_qs[tmp_qs]=parsed_qs[tmp_qs][0] + qs=urllib.urlencode(parsed_qs) + parsed_url=list(parsed_url) + parsed_url[-2]=qs + final_url=urlparse.urlunparse(parsed_url) + + print final_url + if int(parsed_qs["page"])<=10: + return Request(final_url, self.parse) + + sel = Selector(response) + course_a=sel.xpath(r'//*[@class="course-list"]//li//a') + print course_a.extract() titles=course_a.xpath("text()").extract() links=course_a.xpath("@href").extract() - items=[] - for i in range(len(course_a)): + for i in range(len(titles)): tmp_item=LyndaItem() tmp_item["course_title"]=titles[i].strip() tmp_item["course_link"]=links[i] items.append(tmp_item) - # print titles[i].strip() + print titles[i].strip() # print links[i] return items diff --git a/try_scrapy/spiders/test_spider.pyc b/try_scrapy/spiders/test_spider.pyc index e9db007..a54e9a6 100644 Binary files a/try_scrapy/spiders/test_spider.pyc and b/try_scrapy/spiders/test_spider.pyc differ