class JavLibrary::Client
Attributes
success[R]
Public Class Methods
new()
click to toggle source
# File lib/jav_library/client.rb, line 10 def initialize @browser = Watir::Browser.new :firefox, 'pageLoadStrategy': 'eager' # Disable alerts @browser.execute_script "window.alert = () => {}" end
Public Instance Methods
cast()
click to toggle source
# File lib/jav_library/client.rb, line 53 def cast @doc.css('#video_cast .star a').map {|node| node.content.split('(', 2).first.strip } end
close()
click to toggle source
# File lib/jav_library/client.rb, line 70 def close @browser.close end
cover()
click to toggle source
# File lib/jav_library/client.rb, line 57 def cover src = @doc.at_css('#video_jacket_img').attr('src') 'https:' + src.sub('http:', '') end
genres()
click to toggle source
# File lib/jav_library/client.rb, line 66 def genres @doc.css("#video_genres .genre").map(&:content) end
load(code)
click to toggle source
# File lib/jav_library/client.rb, line 16 def load(code) @browser.goto HOST + code @browser.cookies.add "over18", "18" # For cloudflare's ddos checking begin while @browser.html.include? "<title>Just a moment...</title>" sleep 0.1 end rescue sleep 0.1 retry end # Wait until page is loaded until @browser.html.include? 'leftmenu' sleep 0.1 end @success = !@browser.html.include?('The search term you entered is invalid.') @doc = Nokogiri::HTML @browser.html # if multiple search results if @doc.css('.videos .video').length > 1 url = 'http://www.javlibrary.com/en/' url += @doc.at_css('.videos a').attr('href').split('./', 2).last @browser.goto url @browser.cookies.add 'over18', '18' @doc = Nokogiri::HTML(@browser.html) end end
release_date()
click to toggle source
# File lib/jav_library/client.rb, line 62 def release_date @doc.at_css("#video_date .text").content end
title()
click to toggle source
# File lib/jav_library/client.rb, line 48 def title # splits to remove the prepended jav code @doc.at_css('.post-title a').content.split(' ', 2).last end