pub struct FetchRequest {
pub url: String,
pub method: Method,
pub body: Option<String>,
pub headers: HashMap<String, String>,
pub render: bool,
pub ready_for: Option<String>,
pub intercept_api: Option<String>,
pub page: u32,
pub page_by: Option<String>,
}Expand description
一次取页请求(URL 已是最终待请求地址或相对路径)。
Fields§
§url: String§method: Method§body: Option<String>§headers: HashMap<String, String>§render: bool渲染型取页(render-fetcher):为真则用受控浏览器渲染本 URL(默认 headless),
跑站点自身 JS,而非 reqwest 直取。仅 [crate::fetch::browser::EscalatingFetcher] 在
browser feature 下识别;其它 fetcher 忽略本字段(退化为普通取页)。
ready_for: Option<String>渲染就绪等待选择器。两种用法:
- 无
intercept_api(方式 A):渲染后轮询该选择器出现,取渲染后 DOM 作 body; - 与
intercept_api共存(render-dual-source):拦 API 取 body 之外,等该选择器出现后 另抓渲染 DOM 入FetchResponse::dom_html(供via:css规则对 DOM 求值,如分页器总页数)。
intercept_api: Option<String>CDP 拦截:渲染时拦截 URL 含此子串的响应体作为取页 body。可与 ready_for 共存(见上)。
page: u32目标页码(search-click-pagination,1 基):仅 render + intercept_api 的点击翻页路径用——
与 page_by 共存且 > 1 时,引擎在一张活页内点 page-1 次翻到此页。其它路径忽略(默认 0)。
page_by: Option<String>点击驱动翻页的「下一页」CSS 选择器(search-click-pagination):URL 不认页码的 SPA
(如番茄 search)靠点它递增页码。Some 且 page > 1 + 有 intercept_api 时启用点击翻页;
其它路径忽略(默认 None = 现状单拦截 / {{page}} URL 模板翻页)。
Implementations§
Trait Implementations§
Source§impl Clone for FetchRequest
impl Clone for FetchRequest
Source§fn clone(&self) -> FetchRequest
fn clone(&self) -> FetchRequest
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for FetchRequest
impl Debug for FetchRequest
Source§impl Default for FetchRequest
impl Default for FetchRequest
Source§fn default() -> FetchRequest
fn default() -> FetchRequest
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl Freeze for FetchRequest
impl RefUnwindSafe for FetchRequest
impl Send for FetchRequest
impl Sync for FetchRequest
impl Unpin for FetchRequest
impl UnsafeUnpin for FetchRequest
impl UnwindSafe for FetchRequest
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> ErasedDestructor for Twhere
T: 'static,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Returns the layout of the type.
Source§impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
Source§unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
Returns whether the given value has been niched. Read more
Source§fn resolve_niched(out: Place<NichedOption<T, N1>>)
fn resolve_niched(out: Place<NichedOption<T, N1>>)
Writes data to
out indicating that a T is niched.