module Main where
import Control.Arrow
import Control.Applicative
import System.Environment
import Text.XML.HXT.Core
import Text.HandsomeSoup
main :: IO ()
main = do
page <- getPatreonPage
patrons <- scrapePatrons page
mapM_ putStrLn patrons
getPatreonPage :: IO (String)
getPatreonPage = do
args <- getArgs
if length args /= 1
then error "Usage: patronscraper <URL>"
else return $ head args
scrapePatrons :: String -> IO [String]
scrapePatrons page = do
patrons <- runX $ fromUrl page
>>> css ".shareWindow"
>>> (deep $ hasName "h1")
>>> (deep $ hasName "a")
>>> deep isText
>>> getText
return patrons