2016-04-02 33 views
1

html.parser.analyzer HTML ile çalışmak nasıl, öyle görünüyor:Bir div metnini nasıl alabilirim?

(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 } 

Şimdi, bunu nasıl nesnenin metne alabilirim? About 53,000,000 results gibi bir şey olmalı. html.parser.analyzer, metni göstermiyor gibi görünüyor ...?

Düzenleme: Oooh: Bu bir p değil

<div id="resultStats">About 310,000,000 results<nobr> (0.43 seconds)&nbsp;</nobr></div> 

, bir div bu. Yani soru gerçekten, bir divun metnine nasıl ulaşırım?

--- 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 

Çok kolay değil. :(her şeyi içine yanı sıra etiketi kendisi (ya da öyle :) benziyor

metin sonucu içeride olacak, bu yüzden verecek

+0

faktör-lang -! etiketleri –

+0

bkz @BassemAkl Bu yaklaşık [faktör] (http://factorcode.org), bu etiketleri – cat

cevap

1

Eğer find-by-id-between kullanırsanız,:.

(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" 

meraklı google kim öğrendim çünkü ispanyolca var

+1

Ah öyle olduğunu , * bu ne için? Teşekkürler! – cat

+1

Teşekkür ederim yo sende Bana şeyler öğrendin;) –

+0

Merak ediyorsanız, uygulama buradaydı: http://codegolf.stackexchange.com/a/76314/46231: P – cat

İlgili konular