2016-04-02 3 views
1

html.parser.analyzer как работать с HTML, это кажется:Как получить текст div?

(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, похоже, не раскрывает текст ...?

Edit: Оооо:

<div id="resultStats">About 310,000,000 results<nobr> (0.43 seconds)&nbsp;</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 

Не так просто. :(

+0

фактор-языки - см этикетки –

+0

@BassemAkl Это о [фактор] (http://factorcode.org), это в тегах – cat

ответ

1

Если вы используете 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 выяснил, кто я

+1

Oh , * это * для чего. Спасибо! – cat

+1

Thank yo Вы тоже! Вы заставляли меня изучать вещи;) –

+0

Если вам интересно, приложение было здесь: http://codegolf.stackexchange.com/a/76314/46231: P – cat