diff --git a/app/ZborBielawa.hs b/app/ZborBielawa.hs index d84c85c..38a907f 100644 --- a/app/ZborBielawa.hs +++ b/app/ZborBielawa.hs @@ -17,7 +17,7 @@ getLinkAndText xpathCondition = proc doc -> do name <- getElemName -< xpathTrees txt <- (listA (deep isText >>> getText) >>> arr (intercalate " ")) -< xpathTrees href <- (getXPathTrees "//a" >>> getAttrValue "href") -< xpathTrees - returnA -< href, txt + returnA -< (href, txt) extractNestedLinksWithText xpathCondition = proc url -> do @@ -29,8 +29,8 @@ extractNestedLinksWithText xpathCondition = proc url -> do extractRecords = proc x -> do (a, b) <- extractLinksWithText "//aside[@class='widget widget_maxmegamenu']//a[@class='mega-menu-link']" -< x -- pary adres-tytuł podstrony - (a', b') <- (extractLinksWithText "//aside[@class='widget widget_maxmegamenu']//a[@class='mega-menu-link']") -< a -- pobieramy podstronę i kolejne podstrony z menu - a'' <- (extractNestedLinksWithText "//big[a[contains(@href,'.pdf')][img]]") -< a' -- pobieramy stronę z adresu URL i wyciągamy linki z tej strony pasujące do wyrażenia XPathowego + (a', b') <- extractLinksWithText "//aside[@class='widget widget_maxmegamenu']//a[@class='mega-menu-link']" -< a -- pobieramy podstronę i kolejne podstrony z menu + a'' <- extractNestedLinksWithText "(//big[a[contains(@href,'.pdf')][img]])[1]" -< a' -- pobieramy stronę z adresu URL i wyciągamy linki z tej strony pasujące do wyrażenia XPathowego returnA -< ((a'', b'), b) -- ostatecznie wyjdą krotki (((adres URL, tytuł nr-u), tytuł podstrony 2), tytuł podstrony 1) @@ -48,7 +48,7 @@ toShadowItem (((url, releaseTitle), collectionTitle), categoryTitle) = getDate yearlyTitle = - case yearlyTitle =~~ "/.+(19[0-9][0-9]|20[0-9][0-9])/" :: Maybe [[String]] of + case yearlyTitle =~~ "/(19[0-9][0-9]|20[0-9][0-9])/" :: Maybe [[String]] of Just [[_, year]] -> year -- otherwise -> error $ "unexpected yearlyTitle: " ++ yearlyTitle otherwise -> yearlyTitle