class Panchira::NijieResolver

Constants

URL_REGEXP

Private Instance Methods

parse_author() click to toggle source
# File lib/panchira/resolvers/nijie_resolver.rb, line 16
def parse_author
  @md[:author]
end
parse_canonical_url() click to toggle source
# File lib/panchira/resolvers/nijie_resolver.rb, line 24
def parse_canonical_url
  @url.sub(/sp.nijie/, 'nijie').sub(/view_popup/, 'view')
end
parse_description() click to toggle source
# File lib/panchira/resolvers/nijie_resolver.rb, line 20
def parse_description
  @page.css('p.illust_description')&.first&.text&.strip
end
parse_image_url() click to toggle source
# File lib/panchira/resolvers/nijie_resolver.rb, line 28
def parse_image_url
  str = @page.css('//script[@type="application/ld+json"]/text()').first.to_s

  if s = str.match(%r{https://pic.nijie.(net|info)/(?<servername>\d+)/[^/]+/nijie_picture/(?<imagename>[^"]+)})
    # 動画は容量大きすぎるし取らない
    if s[:imagename] =~ /(jpg|png)/
      "https://pic.nijie.net/#{s[:servername]}/nijie_picture/#{s[:imagename]}"
    else
      s[0]
    end
  else
    @page.css('//meta[property="og:image"]/@content').first.to_s
  end
end
parse_tags() click to toggle source
# File lib/panchira/resolvers/nijie_resolver.rb, line 43
def parse_tags
  @page.css('#view-tag span.tag_name').map(&:text)
end
parse_title() click to toggle source
Calls superclass method
# File lib/panchira/resolvers/nijie_resolver.rb, line 9
def parse_title
  full_title = super
  @md = full_title.match(/\A(?<title>.+) \| (?<author>.+)\z/)

  @md[:title]
end