참고소스 수정본
This commit is contained in:
@@ -0,0 +1,52 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
module Firecrawl
|
||||
module Models
|
||||
# Options for scraping a single URL.
|
||||
class ScrapeOptions
|
||||
FIELDS = %i[
|
||||
formats headers include_tags exclude_tags only_main_content
|
||||
timeout wait_for mobile parsers actions location
|
||||
skip_tls_verification remove_base64_images block_ads proxy
|
||||
max_age store_in_cache lockdown integration
|
||||
].freeze
|
||||
|
||||
attr_reader(*FIELDS)
|
||||
|
||||
def initialize(**kwargs)
|
||||
FIELDS.each { |f| instance_variable_set(:"@#{f}", kwargs[f]) }
|
||||
@skip_tls_verification = false if @skip_tls_verification.nil?
|
||||
end
|
||||
|
||||
def to_h
|
||||
{
|
||||
"formats" => formats&.map { |fmt| format_value(fmt) },
|
||||
"headers" => headers,
|
||||
"includeTags" => include_tags,
|
||||
"excludeTags" => exclude_tags,
|
||||
"onlyMainContent" => only_main_content,
|
||||
"timeout" => timeout,
|
||||
"waitFor" => wait_for,
|
||||
"mobile" => mobile,
|
||||
"parsers" => parsers,
|
||||
"actions" => actions,
|
||||
"location" => location.is_a?(Hash) ? location : location&.to_h,
|
||||
"skipTlsVerification" => skip_tls_verification,
|
||||
"removeBase64Images" => remove_base64_images,
|
||||
"blockAds" => block_ads,
|
||||
"proxy" => proxy,
|
||||
"maxAge" => max_age,
|
||||
"storeInCache" => store_in_cache,
|
||||
"lockdown" => lockdown,
|
||||
"integration" => integration,
|
||||
}.compact
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def format_value(fmt)
|
||||
fmt.respond_to?(:to_h) ? fmt.to_h : fmt
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user