Сообщения

Сообщения за февраль, 2013

Парсинг сайта на haskell

Опишу пример парсинга сайта(хоть примеров и много), но я постараюсь на основе этой задачи указать ещё несколько "полезностей". Во первых нам нужно получить страничку которую будем парсить, для этого воспользуемся библиотекой Network.HTTP.Conduit она нам позволит использовать прокси сервер с авторизацией, подключаем библиотеки: module GetPage where import Network . HTTP . Conduit import Network import Data . Maybe ( ) import qualified Data . ByteString . Lazy . UTF8 as UTF8 import qualified Data . ByteString . Char8 as C8 Далее следует добавление авторизации и самого прокси: applyAuthorities :: Maybe ( String , String ) -> Request a -> Request a applyAuthorities auths request' = case auths of Just ( user , pass ) -> applyBasicAuth ( C8 . pack user ) ( C8 . pack pass ) request' Nothing -> request'   applyProxy :: Maybe ( String , Int ) -> Request a -> Request a applyProxy proxy' req

nano haskell highlighter

## Haskell syntax highlighting syntax "haskell" ".hs$" color green "(||@|!|:|$|_|~|=| \| ;|(|)|,|[|])" color magenta "<(True|False|==|/=|&&||||<|>|<=|>=)>" color green "(->|<-|!)" color red "<(as|case|of|class|data|default|deriving|do|forall|foreign|hiding|if|then|else|import|infix|infixl|infixr|instance|let|in|mdo|module|newtype|qualified|type|where)>" color brightblue "'.'" color brightblue "' \[ ntfr]'" color brightblue "" [ ^ "]*" " ## Comment highlighting color brightblack " --.*" color brightblack start = "{-" end = "-}"