Перед использованием scan
убедитесь, что заголовок Content-Type
запрашиваемой страницы имеет значение text/html
, поскольку могут быть ссылки на такие вещи, как изображения, которые не кодируются в UTF-8. Страница также может быть не HTML, если вы взяли href
в чем-то вроде <link>
элемента. Как это проверить, зависит от того, какую библиотеку HTTP вы используете. Затем убедитесь, что результатом является только ascii с String#ascii_only?
(не UTF-8, потому что HTML должен использовать только ascii, в противном случае могут использоваться сущности). Если оба эти теста пройдут успешно, можно использовать scan
.