2012-07-05 115 views
4

我想在Haskell中做一些屏幕抓取(来自Netflix),但该站点需要cookie登录状态,所以大多数这样的示例使用浏览器自动化来请求登录的浏览器执行实际的URL获取,然后从该文本中删除。Haskell通过浏览器获取URL

什么,我想(在Ruby)的一个很好的例子是:https://gist.github.com/1425290

有没有什么简单的方法从哈斯克尔等价?

+0

有什么特别的原因,你不能只是音译Ruby代码? ('System.Process'模块可能会有帮助。) – huon 2012-07-06 02:48:04

+0

是的; Ruby代码使用JavaScript来驱动浏览器访存页面,这是我询问的另一种在Windows上执行的方式,因为它不支持JS。 – guthrie 2012-07-06 03:12:43

+0

JavaScript绝对适用于Windows ...您现在正在使用它。该脚本实际上使用Applescript,*是OSX特有的。 – huon 2012-07-06 03:52:45

回答

3

我知道我的头顶上HTTP包的Network.Browser支持饼干,如curl。据推测,http-conduitNetwork.HTTP.Conduit.Browser是如此命名的,因为它也支持cookies,尽管我并不是100%自信的。

+0

谢谢 - 我已经看到了这个,虽然没有研究细节,但强制自动登录和管理cookie显然比手动登录更复杂,然后解析HTML的结果。我确实找到了一个这样做的python示例 - 并且可以模仿它,但只是调整python脚本来执行我想要的抓取操作会更容易。 (http://jacob.hoffman-andrews.com/netflix-enqueue.py.txt)我有兴趣在Haskell中实现,只是为了看看它是多么容易 - Ruby代码非常紧凑! – guthrie 2012-07-06 03:14:01