преобразование веб-сайтов HTML4 в haskell с помощью blaze-from-html

Я пытаюсь преобразовать веб-сайты в структуру данных HTML, заданную blaze.

curl -S http://jaspervdj.be/blaze | blaze-from-html

Этот пример взят из конца учебника blaze-html. Curl, очевидно, работает, но эта библиотека не может построить HTML

html $ do
    H.head $ H.title "301 Moved Permanently"
blaze-from-html: Attribute bgcolor is illegal in html5

Действительно, bgcolor был устарел. Как заставить blaze работать с HTML4?


curl -S http://jaspervdj.be/blaze | blaze-from-html -v html4-transitional

Как было предложено в комментариях, я использовал некоторые переходные функции и получил 301. Эта страница перенаправляется?

html $ do
    H.head $ H.title "301 Moved Permanently"
    body ! bgcolor "white" $ do
        center $ h1 "301 Moved Permanently"
        hr
        center "nginx/1.2.1"

Однако wget http://jaspervdj.be/blaze возвращает HTML-контент страницы.


person john mangual    schedule 21.10.2014    source источник
comment
Ваш полный код не включен, поэтому я не знаю, делаете ли вы это уже, но импортируете ли вы свои функции из Text.Blaze.Html4.*?   -  person user2407038    schedule 22.10.2014
comment
Вы пытались подключиться к blaze-from-html -v html4-transitional вместо blaze-from-html, как предполагает документация, на которую вы ссылаетесь?   -  person bheklilr    schedule 22.10.2014


Ответы (1)


Это работает для меня:

curl -S http://jaspervdj.de/blaze | blaze-from-html -v html4-transitional

Как указано в документации, которую вы связали.

Что касается того, почему одна страница пуста и говорит, что она была перенаправлена, похоже, что curl видит разницу между http://jaspervdj.de/blaze и http://jaspervdj.de/blaze/, и загружаемый вами веб-сайт также ошибочно обрабатывает их по-разному, в то время как wget, похоже, автоматически перенаправляет, как мой браузер. . Я бы посоветовал связаться с автором сайта и предложить ему исправить это поведение.

person bheklilr    schedule 21.10.2014
comment
Твой работает. Прочитав о каналах Я сделал wget -O - http://jaspervdj.be/blaze | blaze-from-html -v html4-transitional. - person john mangual; 22.10.2014
comment
@johnmangual Приятно знать. Я взял на себя смелость написать владельцу этого веб-сайта / библиотеки по электронной почте с этой проблемой, надеюсь, она скоро будет решена. - person bheklilr; 22.10.2014