1use scraper::error::SelectorErrorKind;
2
3#[derive(Debug)]
5pub enum ScraperError {
6 FetchError(reqwest::Error),
8 ParseError(scraper::error::SelectorErrorKind<'static>),
10 ScrapeError(String),
12 SerializeError(serde_json::Error),
14}
15
16impl From<reqwest::Error> for ScraperError {
17 fn from(error: reqwest::Error) -> Self {
18 ScraperError::FetchError(error)
19 }
20}
21
22impl From<SelectorErrorKind<'static>> for ScraperError {
23 fn from(error: SelectorErrorKind<'static>) -> Self {
24 ScraperError::ParseError(error)
25 }
26}
27
28impl From<serde_json::Error> for ScraperError {
29 fn from(error: serde_json::Error) -> Self {
30 ScraperError::SerializeError(error)
31 }
32}