1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | import Network.HTTP import Text.HTML.TagSoup import Data.Maybe parseHelp :: Tag String -> Maybe String parseHelp ( TagOpen _ y ) = if any ( \( a , b ) -> b == "Download a PDF version of this wiki page" ) y then Just $ "http://en.wikipedia.org" ++ snd ( y !! 0 ) else Nothing parse :: [ Tag String ] -> Maybe String parse [] = Nothing parse ( x : xs ) | isTagOpen x = case parseHelp x of Just s -> Just s Nothing -> parse xs | otherwise = parse xs main = do x <- getLine tags_1 <- fmap parseTags $ getResponseBody =<< simpleHTTP ( getRequest x ) --open url let lst = head . sections ( ~== "<div class=portal id=p-coll-print_export>" ) $ tags_1 url = fromJust . parse $ lst --rendering url putStrLn url tags_2 <- fmap parseTags $ getResponseBody =<< simpleHTTP ( getRequest url ) print tags_2 |
aW1wb3J0IE5ldHdvcmsuSFRUUAppbXBvcnQgVGV4dC5IVE1MLlRhZ1NvdXAKaW1wb3J0IERhdGEuTWF5YmUKCnBhcnNlSGVscCA6OiBUYWcgU3RyaW5nIC0+IE1heWJlIFN0cmluZyAKcGFyc2VIZWxwICggVGFnT3BlbiBfIHkgKSA9IGlmIGFueSAoIFwoIGEgLCBiICkgLT4gYiA9PSAiRG93bmxvYWQgYSBQREYgdmVyc2lvbiBvZiB0aGlzIHdpa2kgcGFnZSIgKSB5IAoJCSAgICAgICAgICAgICB0aGVuIEp1c3QgJCAgImh0dHA6Ly9lbi53aWtpcGVkaWEub3JnIiArKyAgIHNuZCAoICAgeSAhISAgMCApCgkJCSAgICAgIGVsc2UgTm90aGluZwoKCnBhcnNlIDo6IFsgVGFnIFN0cmluZyBdIC0+IE1heWJlIFN0cmluZwpwYXJzZSBbXSA9IE5vdGhpbmcgCnBhcnNlICggeCA6IHhzICkgCiAgIHwgaXNUYWdPcGVuIHggPSBjYXNlIHBhcnNlSGVscCB4IG9mIAoJCQkgSnVzdCBzIC0+IEp1c3QgcyAKCQkJIE5vdGhpbmcgLT4gcGFyc2UgeHMKICAgfCBvdGhlcndpc2UgPSBwYXJzZSB4cwoKCm1haW4gPSBkbyAKCXggPC0gZ2V0TGluZSAKCXRhZ3NfMSA8LSAgZm1hcCBwYXJzZVRhZ3MgJCBnZXRSZXNwb25zZUJvZHkgPTw8IHNpbXBsZUhUVFAgKCBnZXRSZXF1ZXN0IHggKSAtLW9wZW4gdXJsCglsZXQgbHN0ID0gIGhlYWQgLiBzZWN0aW9ucyAoIH49PSAiPGRpdiBjbGFzcz1wb3J0YWwgaWQ9cC1jb2xsLXByaW50X2V4cG9ydD4iICkgJCB0YWdzXzEKCSAgICB1cmwgPSAgZnJvbUp1c3QgLiBwYXJzZSAkIGxzdCAgLS1yZW5kZXJpbmcgdXJsCglwdXRTdHJMbiB1cmwKCXRhZ3NfMiA8LSAgZm1hcCBwYXJzZVRhZ3MgJCBnZXRSZXNwb25zZUJvZHkgPTw8IHNpbXBsZUhUVFAgKCBnZXRSZXF1ZXN0IHVybCApCglwcmludCB0YWdzXzIKCgk=
prog.hs:2:7:
Could not find module `Text.HTML.TagSoup':
Use -v to see a list of the files searched for.
-
result: Compilation error (maybe you wish to see an example for Haskell)


