mirror of
https://gitlab.com/news-flash/article_scraper.git
synced 2025-07-07 16:15:32 +02:00
don't abort image download on failed image
This commit is contained in:
parent
f9905c8a9d
commit
481a2f41ac
1 changed files with 14 additions and 13 deletions
|
@ -53,20 +53,21 @@ impl ImageDownloader {
|
||||||
evaluate_xpath!(context, xpath, node_vec);
|
evaluate_xpath!(context, xpath, node_vec);
|
||||||
for mut node in node_vec {
|
for mut node in node_vec {
|
||||||
if let Some(url) = node.get_property("src") {
|
if let Some(url) = node.get_property("src") {
|
||||||
let url = url::Url::parse(&url)
|
if let Ok(url) = url::Url::parse(&url) {
|
||||||
.context(ImageDownloadErrorKind::InvalidUrl)?;
|
let parent_url = match self.check_image_parent(&node, &url) {
|
||||||
let parent_url = match self.check_image_parent(&node, &url) {
|
Ok(url) => Some(url),
|
||||||
Ok(url) => Some(url),
|
Err(_) => None,
|
||||||
Err(_) => None,
|
};
|
||||||
};
|
|
||||||
|
|
||||||
let (small_image, big_image) = self.save_image(&url, &parent_url)?;
|
if let Ok((small_image, big_image)) = self.save_image(&url, &parent_url) {
|
||||||
if let Err(_) = node.set_property("src", &small_image) {
|
if let Err(_) = node.set_property("src", &small_image) {
|
||||||
return Err(ImageDownloadErrorKind::HtmlParse)?;
|
return Err(ImageDownloadErrorKind::HtmlParse)?;
|
||||||
}
|
}
|
||||||
if let Some(big_image) = big_image {
|
if let Some(big_image) = big_image {
|
||||||
if let Err(_) = node.set_property("big-src", &big_image) {
|
if let Err(_) = node.set_property("big-src", &big_image) {
|
||||||
return Err(ImageDownloadErrorKind::HtmlParse)?;
|
return Err(ImageDownloadErrorKind::HtmlParse)?;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue