我想浏览几个网页
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说我应该加载一个包Network-HTML。 Squeak 4.6 的 SqueakMap 目录有一个包“XMLParser-HTML”。可以用这个代替吗?
最佳答案
在 Pharo 中,您可以使用 Soup package 。通过配置浏览器安装它。
您使用 Zinc 从 URL 检索文档,并找到第一个 <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'
关于dom - 如何收集多个网页的 h1 标题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34261139/