topSeventy 0.0.0

Sign up to get free protection for your applications and to get access to all the features.
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: []