我想浏览几个网页
theURLs := #('url1' 'url2' 'url3')
并获得第一个h1标题的内容
theURLs collect: [ :anURL | page := HTTPClient httpGetDocument: anURL.
page firstH1heading].
问题
我需要在#firstH1heading的位置放什么?
欢迎回答Squeak/Pharo/Cuis。
备注
在吱吱声
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"。可以用这个代替吗?
在Pharo中,您可以使用Soup包。通过配置浏览器进行安装。
您使用Zinc从URL中检索文档,并使用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'
我已经更新了配置。您可能需要刷新目录
Name: ConfigurationOfSoup-StephanEggermont.75
Author: StephanEggermont
Time: 14 December 2015, 1:39:52.307715 pm
UUID: 6c11fb83-5299-4852-9563-73ecc34992a0
Ancestors: ConfigurationOfSoup-FrancoisStephany.74
Adopted bug fix to stable 1.7.1 , added Pharo 5 versions