我想浏览一些网页
theURLs := #('url1' 'url2' 'url3')
并获取第一个h1标题的内容
theURLs collect: [ :anURL | page := HTTPClient httpGetDocument: anURL.
page firstH1heading].
我需要在#firstH1heading的地方放置什么?
欢迎使用Squeak / Pharo / Cuis的答案。
在Squeak
HTTPClient httpGetDocument: 'http://pharo.org/'
回馈
MIMEDocument
所以我希望做一些像
这样的事情theURLs collect: [ :anURL | page := HTMLDocument on:
(HTTPClient httpGetDocument: anURL).
page firstH1heading].
但是在Squeak 4.6中没有HTMLDocument类,虽然它似乎曾经是一个。 (http://wiki.squeak.org/squeak/2249)。 Wiki表示我应该加载包网络HTML 。 Squeak 4.6的SqueakMap目录有一个包'XMLParser-HTML'。可以改用它吗?
答案 0 :(得分:3)
在Pharo中,您可以使用Soup package。通过配置浏览器安装它。
您从带有Zinc的网址中检索文档,并找到第一个带有Soup的<h1>
标记,如下所示:
|contents soup body|
contents := ZnClient new get: 'http://zn.stfx.eu/zn/small.html'.
soup := Soup fromString: contents.
body := soup body.
body findTag: 'h1'
答案 1 :(得分:2)
我已更新配置。您可能需要刷新目录
class GeoProxy : Proxy, CLLocationManagerDelegate
{
var locationManager = CLLocationManager()
override class var NAME: String { return "GeoProxy" }
}