Как ограничить количество результатов на уровне тегов при использовании pup?

Вкратце:

Есть ли способ использовать Pup для ограничения количества результатов не в целом, а на уровне тегов?

Предыстория / сценарий использования:

С тех пор, как я узнал о щенке, я был одержим. Я постоянно думаю о новых вариантах использования. Этим утром я хотел использовать это, чтобы получить последние заголовки от ESPN.

У ESPN, кажется, есть неупорядоченный список как это: <ul class="headlines"> а затем куча пунктов списка.

Простое решение будет:

$ curl -s -S http://espn.go.com/ | pup .headlines a text{}

право? Но, как вы можете видеть, иногда есть несколько ссылок на каждую тему в строке с альтернативными авторами, так что в итоге вы получите такие результаты, как "Низкий", "Ананде", "Старк" и "Динич" (фамилии ESPN авторы).

В идеале я хотел бы сделать что-то вроде этого:

$ curl -s -S http://espn.go.com/ | pup .headlines li a slice{:1} text{}

но это только возвращает первый результат.:\

Есть несколько <a> теги за <li>так что я хотел бы получить все <li> предметы, но ограничить количество <a> теги по 1 за <li>, Это возможно?

1 ответ

Решение
$ curl -s -S http://espn.go.com/ | pup '.headlines li a:first-of-type text{}'
Другие вопросы по тегам