topSeventy 0.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. checksums.yaml +7 -0
  2. data/lib/topSeventy.rb +41 -0
  3. metadata +42 -0
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: c20065f809035e7e92d8f304c6421545fda403fc7e22bcb0d2438364c2a77e97
4
+ data.tar.gz: 010a727dd6dc637f688117870b8a11a4e7ed9041c1f475ba2aa2799f4df54dd0
5
+ SHA512:
6
+ metadata.gz: 34313cf1607bafe5b21fb9bb403592595b3becfa95953dc29441a0478b1e8d0d84ec87828e1c2584532560ee5bc4a26e1d36ed3beb9cba41bbe7f62ebab8bd81
7
+ data.tar.gz: '0776218721d6bfde9349beee887b5577456848914da3d030519860de4042010e8e6a755a7142dbcb1f26ded9c406f61a756a53decc9137e680939bbbaeab87c6'
data/lib/topSeventy.rb ADDED
@@ -0,0 +1,41 @@
1
+ require 'nokogiri'
2
+ require 'httparty'
3
+ require 'byebug'
4
+
5
+ def udemyTopSeventy
6
+ url = "https://www.guru99.com/best-udemy-course.html"
7
+ unparsed_page = HTTParty.get(url) # gets back raw HTML
8
+ parsed_page = Nokogiri::HTML(unparsed_page) # nokogiri converts the unparsed page to parsed page
9
+
10
+ @web_courses = Array.new
11
+ @web_links = Array.new
12
+
13
+ # Iterate over and store the values into a object with key values
14
+ courseListings = parsed_page.css('div.list-view-course-card--content--1TGG4') # used CSS selector to target the values # 70 courses
15
+
16
+ # Another section of the page for the anchor tags
17
+ courseLinks = parsed_page.css('div.g-block.size-60') # target card elements for links
18
+
19
+ courseListings.each do | course_listing |
20
+ course = {
21
+ course_title: course_listing.css('div.list-view-course-card--title--2pfA0').text, # course_title
22
+ course_stats: course_listing.css('span.ml5').text, # course stats
23
+ }
24
+ @web_courses << course
25
+ end
26
+
27
+ courseLinks.each do | course_links |
28
+ link = {
29
+ course_links: course_links.css('a')[0].attributes["href"].value # course_links
30
+ }
31
+ @web_links << link
32
+ end
33
+
34
+ def multireturn
35
+ return [@web_courses, @web_links]
36
+ end
37
+
38
+ a, b = multireturn
39
+ a = @web_courses.join(', ')
40
+ b = @web_links.join(', ')
41
+ end
metadata ADDED
@@ -0,0 +1,42 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: topSeventy
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.0
5
+ platform: ruby
6
+ authors:
7
+ - MatthewByrne
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2021-04-12 00:00:00.000000000 Z
12
+ dependencies: []
13
+ description: A simple but hopefully effective educational gem
14
+ email: x17138744@student.ncirl.ie
15
+ executables: []
16
+ extensions: []
17
+ extra_rdoc_files: []
18
+ files:
19
+ - lib/topSeventy.rb
20
+ homepage: http://rubygems.org/gems/udemySeventy
21
+ licenses: []
22
+ metadata: {}
23
+ post_install_message:
24
+ rdoc_options: []
25
+ require_paths:
26
+ - lib
27
+ required_ruby_version: !ruby/object:Gem::Requirement
28
+ requirements:
29
+ - - ">="
30
+ - !ruby/object:Gem::Version
31
+ version: '0'
32
+ required_rubygems_version: !ruby/object:Gem::Requirement
33
+ requirements:
34
+ - - ">="
35
+ - !ruby/object:Gem::Version
36
+ version: '0'
37
+ requirements: []
38
+ rubygems_version: 3.2.15
39
+ signing_key:
40
+ specification_version: 4
41
+ summary: A web scraped collection of the top seventy Udemy courses in 2021
42
+ test_files: []