parsing - 如何使用pup限制标签级别的结果数量?

标签 parsing command-line css-selectors html-parsing pup

简而言之:

有没有办法使用 pup不是限制总体结果数量,而是在标签级别限制结果数量?

背景故事/用例:

自从我了解小狗以来,我就一直着迷。我不断思考新的用例。今天早上我想用它来抓取 ESPN 的最新头条新闻.

ESPN 似乎有一个像这样的无序列表:<ul class="headlines">然后是一堆列表项。

一个简单的解决方案是:

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

对吗?但是,正如您所看到的,有时每行都有多个指向每个主题的链接,并且有其他作者,因此您最终会得到诸如“Low”、“Anande”、“Stark”和“Dinich”(ESPN 的姓氏)之类的结果作者)。

理想情况下我想做这样的事情:

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

但这只返回第一个结果。 :\

有多个<a>每个 <li> 的标签,所以我想检索所有 <li>项,但限制 <a> 的数量标签为 1 个 <li> 。这可能吗?

最佳答案

$ curl -s -S http://espn.go.com/ | pup '.headlines li a:first-of-type text{}'

关于parsing - 如何使用pup限制标签级别的结果数量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26635752/

相关文章:

parsing - Antlr:如果重复列表,我可以以不同的方式重写树吗

python - 使用 Python/Pandas 解析嵌套 JSON

C# 'System.InvalidOperationException' 无法在流程流上混契约(Contract)步和异步操作

svn - 如何使用命令行(无 URL)管理 SVN 存储库

java - 我的类结构应该是什么来解析 GSON 中的 JSON

java - 控制字符串是否是数学表达式

java - 如果我希望它通过命令行将项目作为 jar 文件运行,某些属性文件的路径应该是什么样子

css - SASS:从列表中随机选择背景图像

javascript - 如何在选择器中指定前一个元素的属性?

python - Python 中的 JQuery/CSS 选择器?