Как ограничить количество результатов на уровне тегов при использовании 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{}'