如何阅读球拍网页?(How do I read a web page in Racket?)

2019-08-04 14:37发布

所有的信息,我可以在网上找到即将编写Web服务器,但似乎很少有关Web客户端有用的功能。 理想情况下,我想的功能是这个样子:

(website "http://www.google.com")

并返回包含整个网页的字符串,但我会很乐意与任何工作。

Answer 1:

这里有一个简单的程序看起来像你想要做什么:

#lang racket

(require net/url)

(port->bytes
 (get-pure-port (string->url "http://www.google.com")))

如果你像我一样,你可能也想将它解析为一个s表达式。 尼尔·范戴克的neil/html-parsing做到这一点:

#lang racket

(require (planet neil/html-parsing:2:0)
         net/url)

(html->xexp
 (get-pure-port (string->url "http://www.google.com")))

请注意,由于该程序是指行星包,运行此程序在第一次将下载并安装htmlprag包。 构建文件可能需要相当长一段时间。 这是一个一次性的成本,不过,并再次运行该程序不会超过几秒钟。



文章来源: How do I read a web page in Racket?