diff --git a/extra/html/parser/analyzer/analyzer.factor b/extra/html/parser/analyzer/analyzer.factor index d206ae5f45..10fcd9c449 100755 --- a/extra/html/parser/analyzer/analyzer.factor +++ b/extra/html/parser/analyzer/analyzer.factor @@ -3,7 +3,7 @@ USING: assocs html.parser kernel math sequences strings ascii arrays generalizations shuffle namespaces make splitting http accessors io combinators http.client urls -urls.encoding fry prettyprint sets ; +urls.encoding fry prettyprint sets combinators.short-circuit ; IN: html.parser.analyzer TUPLE: link attributes clickable ; @@ -103,6 +103,15 @@ TUPLE: link attributes clickable ; [ [ name>> "a" = ] [ attributes>> "href" swap at ] bi and ] find-between-all ; +: find-images ( vector -- vector' ) + [ + { + [ name>> "img" = ] + [ attributes>> "src" swap at ] + } 1&& + ] find-all + values [ attributes>> "src" swap at ] map ; + : ( vector -- link ) [ first attributes>> ] [ [ name>> { text "img" } member? ] filter ] bi