module CodeSchool
Scraper for CodeSchool
website
Gem info
Constants
- COURSES
- COURSE_NAMES_XPATH
- DATE
- TEACHER_NAMES_XPATH
- VERSION
Public Instance Methods
code_school_data()
click to toggle source
JSON array of course names (string) and teacher(s) (array)
# File lib/code_school/code_school.rb, line 43 def code_school_data course_names.zip(teacher_names).map do |c_t| # { course: c_t[0], teacher: c_t[1] } { c_t[0] => c_t[1] } end.to_json end
course_names()
click to toggle source
Get an array of course names
# File lib/code_school/code_school.rb, line 22 def course_names courses.xpath(COURSE_NAMES_XPATH).map(&:text) end
course_urls()
click to toggle source
Change course names to urls
# File lib/code_school/code_school.rb, line 27 def course_urls # Turn ' ', '.' to '-' # Delete ':' course_names.map do |name| name.downcase.split(' ').join('-').tr('.', '-').delete(':') end end
courses()
click to toggle source
Gets array of courses
# File lib/code_school/code_school.rb, line 12 def courses Nokogiri::HTML(open(COURSES)) end
teacher(name)
click to toggle source
Gets names of teacher(s) for one course
# File lib/code_school/code_school.rb, line 17 def teacher(name) Nokogiri::HTML(open("#{COURSES}/#{name}")) end
teacher_names()
click to toggle source
Get teachar's name by visiting each course page
# File lib/code_school/code_school.rb, line 36 def teacher_names course_urls.map do |course_url| teacher(course_url).xpath(TEACHER_NAMES_XPATH).map(&:text) end end