我正在用Scalpel在Haskell中编写一个Web爬虫。 基本代码是:
Main :: IO ()
Main = do
request <- parseRequest weblink
p <- httpLBS request >>= return . getResponseBody
result <- do
r <- return $ scrapeStringLike (L8.unpack p) torrentS
return . fromJust $ r
-- append
mapM_ putStrLn $ result
目标网站不会返回结果。我想它会检查用户代理字符串,并以不同的方式响应真实的浏览器和爬虫。
那么我应该如何在http-client
中自定义用户代理字符串?
或wreq?
答案 0 :(得分:2)
用户代理是HTTP header,因此您只需使用API来设置标头。例如。 http-client
中的requestHeaders
(请注意,它是一个制定者,因此您可以将其用作request{requestHeaders=blah}
)