Скачать файл PDF из Wikipedia

Wikipedia предоставляет ссылку (левая сторона на печати / экспорте) на каждой статье, чтобы загрузить статью как PDF. Я написал небольшой скрипт Haskell, который сначала получает ссылку Wikipedia и выводит ссылку рендеринга. Когда я даю URL-адрес рендеринга в качестве ввода, я получаю пустые теги, но тот же URL в браузере предоставляет ссылку для скачивания.

Может кто-нибудь, пожалуйста, скажи мне, как решить эту проблему? Формированный код на IDeOne .

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 ( ~== "
" ) $ tags_1 url = fromJust . parse $ lst --rendering url putStrLn url tags_2 <- fmap parseTags $ getResponseBody =<< simpleHTTP ( getRequest url ) print tags_2

6
задан hammar 10 September 2011 в 01:43
поделиться