【发布时间】:2020-01-26 19:00:00
【问题描述】:
我目前正在 Haskell 开发这个程序,我在其中分析网站并尝试找到属于该网站的所有链接 (href)。我已经能够提取主站点的所有链接,但我正在为递归而苦苦挣扎,因为我想遵循我已经找到的链接并再次执行相同的过程。
这是我已经拥有的:
parseHtml = fmap LB.unpack . simpleHttp
filterFunc x y = -- damn long line with a lot of filters
main :: IO()
main = do
let site = "https://stackoverflow.com/"
url <- parseHtml site
let links = filterFunc site url
mapM_ print $ take 5 $ links
这是我目前的输出:
"https://stackoverflow.com/company/about"
"https://stackoverflow.com/company/work-here"
"https://stackoverflow.com/help"
"https://stackoverflow.com/jobs/directory/developer-jobs"
"https://stackoverflow.com/questions/44691577/stream-versus-iterators-in-set"
我只需要关于如何进一步进行以及如何再次访问已经找到的链接的提示。我应该使用折叠吗?
【问题讨论】: