2013-07-25 1 views
8

Почему следующий сниппет не работает?Разбор абзацев html с подсветкой

(html/select (:body (client/post "http://www.web.onpe.gob.pe/modElecciones/elecciones/elecciones2011/2davuelta/onpe/presidente/extras/provincias.php" {:form-params {"elegido" "010000"}})) [:option]) 

Есть ли у меня что-то сделать с HTML-строки, чтобы превратить его в Clojure первый или структура данных что-то подобное?

ответ

9

Yep - вы можете использовать html/html-snippet, чтобы превратить необработанную строку html в нечто, что можно использовать, или html/html-resource, чтобы использовать весь html-файл.

Попробуйте следующее:

(html/select 
    (html/html-snippet 
    (:body (client/post "<your-website>" {:form-params {"elegido" "010000"}})) 
    [:option]) 
+0

Когда я пытаюсь разобрать ответ с HTML-сниппет я получаю Arity исключение https://gist.github.com/PuercoPop/2035343d5af8e0ecfb1d Это запрос Ajax, так это не является полным html, есть ли проблема с этим? – PuercoPop

+0

Btw ответ довольно короткий, список опций: https://gist.github.com/PuercoPop/d80b05a0fc6afd5b8a39 – PuercoPop

+1

Интересно. Когда я разбираю ваш список опций с помощью '(select (html-snippet ) [: option])', я получаю '({: tag: option,: attrs {: value" "},: content (" --seleccionar- - ")} {: tag: option,: attrs {: значение" 010100 "},: content (" CHACHAPOYAS ")} {: tag: option,: attrs {: value" 010200 "},: content (" BAGUA ")} ...) 'Я использую revite 1.1.1 ... –