我如何获得 div 的文本?
How do I get a div's text?
html.parser.analyzer
是如何配合HTML的,好像是:
( sc ) "google.com/search?q=vim" scrape-html
--- Data stack:
T{ response f "1.1" 200 "OK" H{ ~array~ ~array~ ~array~ ~array~...
V{ ~tag~ ~tag~ ~tag~ ~tag~ ~tag~ ~tag~ ~tag~ ~tag~ ~tag~ ~tag~...
( sc ) nip "resultStats" find-by-id
--- Data stack:
258
T{ tag f "div" H{ ~array~ ~array~ } f f }
( sc ) dup .
T{ tag
{ name "div" }
{ attributes H{ { "class" "sd" } { "id" "resultStats" } } }
}
--- Data stack:
258
T{ tag f "div" H{ ~array~ ~array~ } f f }
现在,我如何获得该对象的文本?它应该类似于 About 53,000,000 results
。 html.parser.analyzer
好像没有暴露文字...?
编辑:哦哦:
<div id="resultStats">About 310,000,000 results<nobr> (0.43 seconds) </nobr></div>
这不是 p
,而是 div
。
所以真正的问题是,我如何获得 div 的文本?
--- Data stack:
T{ tag f "div" H{ ~array~ ~array~ } f f }
( sc ) dup text>>
--- Data stack:
T{ tag f "div" H{ ~array~ ~array~ } f f }
f
没那么简单。 :(
如果你使用 find-by-id-between
,那将给你里面的所有东西以及标签本身(或者它看起来像 :)。
文本将在结果中,因此:
( sc ) "google.com/search?q=vim" scrape-html
--- Data stack:
T{ response f "1.1" 200 "OK" H{ ~array~ ~array~ ~array~ ~array~...
V{ ~tag~ ~tag~ ~tag~ ~tag~ ~tag~ ~tag~ ~tag~ ~tag~ ~tag~ ~tag~...
( sc ) nip "resultStats" find-by-id-between
--- Data stack:
T{ ~tag~ ~tag~ ~tag~ }
( sc ) dup .
V{
T{ tag
{ name "div" }
{ attributes
H{ { "class" "sd" } { "id" "resultStats" } }
}
}
T{ tag
{ name text }
{ text "Cerca de 41.500.000 resultados" }
}
T{ tag { name "div" } { attributes H{ } } { closing? t } }
}
--- Data stack:
T{ ~tag~ ~tag~ ~tag~ }
( sc ) second text>>
--- Data stack:
"Cerca de 41.500.000 resultados"
它是西班牙语,因为爱管闲事的 google 发现了我!
html.parser.analyzer
是如何配合HTML的,好像是:
( sc ) "google.com/search?q=vim" scrape-html
--- Data stack:
T{ response f "1.1" 200 "OK" H{ ~array~ ~array~ ~array~ ~array~...
V{ ~tag~ ~tag~ ~tag~ ~tag~ ~tag~ ~tag~ ~tag~ ~tag~ ~tag~ ~tag~...
( sc ) nip "resultStats" find-by-id
--- Data stack:
258
T{ tag f "div" H{ ~array~ ~array~ } f f }
( sc ) dup .
T{ tag
{ name "div" }
{ attributes H{ { "class" "sd" } { "id" "resultStats" } } }
}
--- Data stack:
258
T{ tag f "div" H{ ~array~ ~array~ } f f }
现在,我如何获得该对象的文本?它应该类似于 About 53,000,000 results
。 html.parser.analyzer
好像没有暴露文字...?
编辑:哦哦:
<div id="resultStats">About 310,000,000 results<nobr> (0.43 seconds) </nobr></div>
这不是 p
,而是 div
。
所以真正的问题是,我如何获得 div 的文本?
--- Data stack:
T{ tag f "div" H{ ~array~ ~array~ } f f }
( sc ) dup text>>
--- Data stack:
T{ tag f "div" H{ ~array~ ~array~ } f f }
f
没那么简单。 :(
如果你使用 find-by-id-between
,那将给你里面的所有东西以及标签本身(或者它看起来像 :)。
文本将在结果中,因此:
( sc ) "google.com/search?q=vim" scrape-html
--- Data stack:
T{ response f "1.1" 200 "OK" H{ ~array~ ~array~ ~array~ ~array~...
V{ ~tag~ ~tag~ ~tag~ ~tag~ ~tag~ ~tag~ ~tag~ ~tag~ ~tag~ ~tag~...
( sc ) nip "resultStats" find-by-id-between
--- Data stack:
T{ ~tag~ ~tag~ ~tag~ }
( sc ) dup .
V{
T{ tag
{ name "div" }
{ attributes
H{ { "class" "sd" } { "id" "resultStats" } }
}
}
T{ tag
{ name text }
{ text "Cerca de 41.500.000 resultados" }
}
T{ tag { name "div" } { attributes H{ } } { closing? t } }
}
--- Data stack:
T{ ~tag~ ~tag~ ~tag~ }
( sc ) second text>>
--- Data stack:
"Cerca de 41.500.000 resultados"
它是西班牙语,因为爱管闲事的 google 发现了我!