Учитывая то, как построен этот конкретный веб-сайт, я бы хотел использовать в этих ситуациях xpath. Учитывая, что текущая страница будет иметь класс «selected», я выбрал бы «selected» класс и затем использовал бы синтаксис «follow-sibling» с индексом 1, чтобы получить самые следующие теги.
В вашем случае:
response.xpath("//li[@class='selected']/following-sibling::li[1]/a/@href").extract_first()
Таким образом, независимо от того, на какой странице вы находитесь, вы динамически выбираете «следующую» страницу.
Согласно справочной документации , вы можете использовать следующую опцию конфигурации, чтобы включить красивую печать:
grails.converters.default.pretty.print (Boolean)
//Whether the default output of the Converters is pretty-printed ( default: false )
Это - простой путь к структурной распечатке программы XML, с помощью кода Groovy только:
def xml = "<rss><channel><title></title><description>" +
"</description><link></link><item></item></channel></rss>"
def stringWriter = new StringWriter()
def node = new XmlParser().parseText(xml);
new XmlNodePrinter(new PrintWriter(stringWriter)).print(node)
println stringWriter.toString()
результаты в:
<rss>
<channel>
<title/>
<description/>
<link/>
<item/>
</channel>
</rss>