Крис, попробуйте это и дайте мне знать, работает ли оно:
doc = Nokogiri::HTML(page)
el = doc.xpath("//div[@id='spam[500]']").first
Проблема в том, что вы не можете получить к нему доступ через CSS (даже в браузере). Попробуйте установить некоторые атрибуты CSS для «spam [500]», и они не будут применяться. Однако вы можете получить доступ через xpath, как показано выше.
Настоящая проблема заключается в том, что символы [и] недопустимы в атрибуте идентификатора HTML4 (или XML) - посмотрите на следующее:
http://www.w3.org/TR/html401/types.html#type -name
(нормативное определение атрибута id см. на сайте www.w3.org//TR/html401/struct/global.html#adef-id)