如何使用 cheerio 从两个相同的 class 中获取第一个 class
How to get the first class from two same classes with cheerio
目前我正在使用 cheerio node.Js 制作网络抓取工具。我想在 class="panel-items-list
.
的第一个中获取数据
html 看起来像这样
<div class="margin-bottom-=30">
<div class="side-list-panel">
<ul class="panel-item-list">...</ul>
</div>
</div>
<div class="margin-bottom-=30">
<div class="side-list-panel">
<ul class="panel-item-list">...</ul>
</div>
</div>
我已经这样做了
const relateArticle = $('.panel-items-list').map((i, section)=>{
let articles = $(section).find('h5');
return articles.text();
}).get();
但它 return 来自两个 class="panel-items-list"
的数据。我如何仅从一个 class 获取数据?对不起,我的英语不好。提前致谢!
要仅从 .panel-item-list
中获取第一个 class,请使用 .get(0)
,这意味着您仅选择使用 .map
找到的第一个索引
此外,在您当前的 code
jQuery
中,您没有选择正确的 class
选择器。
此外,在获取文本时使用 .trim() 方法清除文本中任何 看不见的空格。
现场工作演示:
const relateArticle = $('.panel-item-list').map((i, section) => {
let articles = $(section).find('h5');
return articles.text().trim();
}).get(0)
console.log(relateArticle) //Foo
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="margin-bottom-=30">
<div class="side-list-panel">
<ul class="panel-item-list">
<h5>
Foo
</h5>
</ul>
</div>
</div>
<div class="margin-bottom-=30">
<div class="side-list-panel">
<ul class="panel-item-list">
<h5>
Bar
</h5>
</ul>
</div>
</div>
首先使用():
$('.panel-items-list').first().find('h5').text()
目前我正在使用 cheerio node.Js 制作网络抓取工具。我想在 class="panel-items-list
.
html 看起来像这样
<div class="margin-bottom-=30">
<div class="side-list-panel">
<ul class="panel-item-list">...</ul>
</div>
</div>
<div class="margin-bottom-=30">
<div class="side-list-panel">
<ul class="panel-item-list">...</ul>
</div>
</div>
我已经这样做了
const relateArticle = $('.panel-items-list').map((i, section)=>{
let articles = $(section).find('h5');
return articles.text();
}).get();
但它 return 来自两个 class="panel-items-list"
的数据。我如何仅从一个 class 获取数据?对不起,我的英语不好。提前致谢!
要仅从 .panel-item-list
中获取第一个 class,请使用 .get(0)
,这意味着您仅选择使用 .map
此外,在您当前的 code
jQuery
中,您没有选择正确的 class
选择器。
此外,在获取文本时使用 .trim() 方法清除文本中任何 看不见的空格。
现场工作演示:
const relateArticle = $('.panel-item-list').map((i, section) => {
let articles = $(section).find('h5');
return articles.text().trim();
}).get(0)
console.log(relateArticle) //Foo
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="margin-bottom-=30">
<div class="side-list-panel">
<ul class="panel-item-list">
<h5>
Foo
</h5>
</ul>
</div>
</div>
<div class="margin-bottom-=30">
<div class="side-list-panel">
<ul class="panel-item-list">
<h5>
Bar
</h5>
</ul>
</div>
</div>
首先使用():
$('.panel-items-list').first().find('h5').text()