格式化 text() 的字符串结果
Formatting the string result of text()
你好,有谁知道如何格式化或添加一些额外的字符串(如逗号),到 text()[= 给出的结果33=]?我在网络抓取中使用它。
这是抓取工具的片段:
var makeupCatBrand = $('span.caption').children('h6').text().trim()
这是我使用 console.log(makeupCatBrand)
时的结果:
Jeffree StarCharlotte TilburyRCMA MakeupNatasha DenonaAnna SuiJeffree StarSugarpillAnna SuiArmour BeautyOCCSugarpillCover FXIT Cosmetics rms beautyMake-Up AtelierCover FXCover FXIT Cosmetics beautyblenderBY TERRYKevyn AucoinbeautyblenderIT Cosmetics Charlotte TilburyBY TERRYCover FXViseartCover FXWayne GossRCMA MakeupAnna SuiAnna SuiCover FXOCCAnna SuiCharlotte Tilbury
我尝试将其推送到一个数组,但所有这些仅显示为数组中的一个索引。
我想为每个品牌(Jeffree Star、Charlotte Tilbury 等)至少添加一个逗号,以便我可以在推送到数组之前轻松拆分它。非常感谢任何答案或想法
哦,都是一样的class,没有ID,所以我要一个一个的抓取会比较费劲
这是两个品牌的 html 代码(它们都有相同的格式,所以我只包含一个,如果该品牌的产品有两个或更多可用色调):
<li class="shop_t_browse">
<a class="tile" href="/p/jeffree-star-velour-liquid-lipstick" >
<span class="img txt_c">
<img class="inlineblock" src="//dy6g3i6a1660s.cloudfront.net/eNiRpXtM7WlLKE7qyhAw4AR-BH4/320_p-cd/jeffree-star-velour-liquid-lipstick.jpg" alt="Jeffree Star Velour Liquid Lipstick" />
</span>
<span class="caption">
<h6>Jeffree Star</h6>
<h5>Velour Liquid Lipstick</h5>
<p><strong> USD</strong></p>
<small class="shop_msg_color">
24 shades available
</small>
<small class="rating_reviews txt_pale hidden_mobile">
<div class="ratingInfo">
<span class="rating_image_small" style="background-position: 0 -250.0000000000px;"></span>
<span class="txt_pale glyph_stat"> / 674</span>
</div>
</small>
</span>
</a>
</li>
var arr = [];
$('span.caption').children('h6').each(function()
{
arr.push($(this).text().trim());
});
console.log(arr.join(","));
您必须使用 replace()
方法将白色 space 替换为昏迷或昏迷和白色 space,如下所示:
makeupCatBrand.replace(" ", ",");
或
makeupCatBrand.replace(" ", ", ");
第一个参数是要替换的字符串部分,第二个参数是要替换的字符串。
您还可以使用 split()
方法来获取这样的字符串数组:
var strArray = makeupCatBrand.split(" ");
您可以按原样拆分字符串,这样您就可以添加一个逗号和惠特 space 如果您想将它保留在最终结果中。
据我所知,因为您似乎有多个 children,请分别检查每个。
这就是它的工作原理。
var makeupCatBrand;
$('span.caption').children('h6').each(function(){
makeupCatBrand += $(this).text().trim();
makeupCatBrand += ", ";
})
var children = $('span.caption').children('h6');
var resultsArray = [];
for (var i=0;i<children.length;i++) {
resultsArray[i] = children[i].textContent;
}
console.log(resultsArray);
一行,以','分隔:
var makeupCatBrand = $('span.caption').children('h6').map(function(){return $(this).text()}).get().join(',');
...因为它是 ',' 可以省略,因为它是默认值。我放在代码里是为了说明分隔符是可以自定义的
你好,有谁知道如何格式化或添加一些额外的字符串(如逗号),到 text()[= 给出的结果33=]?我在网络抓取中使用它。
这是抓取工具的片段:
var makeupCatBrand = $('span.caption').children('h6').text().trim()
这是我使用 console.log(makeupCatBrand)
时的结果:
Jeffree StarCharlotte TilburyRCMA MakeupNatasha DenonaAnna SuiJeffree StarSugarpillAnna SuiArmour BeautyOCCSugarpillCover FXIT Cosmetics rms beautyMake-Up AtelierCover FXCover FXIT Cosmetics beautyblenderBY TERRYKevyn AucoinbeautyblenderIT Cosmetics Charlotte TilburyBY TERRYCover FXViseartCover FXWayne GossRCMA MakeupAnna SuiAnna SuiCover FXOCCAnna SuiCharlotte Tilbury
我尝试将其推送到一个数组,但所有这些仅显示为数组中的一个索引。
我想为每个品牌(Jeffree Star、Charlotte Tilbury 等)至少添加一个逗号,以便我可以在推送到数组之前轻松拆分它。非常感谢任何答案或想法
哦,都是一样的class,没有ID,所以我要一个一个的抓取会比较费劲
这是两个品牌的 html 代码(它们都有相同的格式,所以我只包含一个,如果该品牌的产品有两个或更多可用色调):
<li class="shop_t_browse">
<a class="tile" href="/p/jeffree-star-velour-liquid-lipstick" >
<span class="img txt_c">
<img class="inlineblock" src="//dy6g3i6a1660s.cloudfront.net/eNiRpXtM7WlLKE7qyhAw4AR-BH4/320_p-cd/jeffree-star-velour-liquid-lipstick.jpg" alt="Jeffree Star Velour Liquid Lipstick" />
</span>
<span class="caption">
<h6>Jeffree Star</h6>
<h5>Velour Liquid Lipstick</h5>
<p><strong> USD</strong></p>
<small class="shop_msg_color">
24 shades available
</small>
<small class="rating_reviews txt_pale hidden_mobile">
<div class="ratingInfo">
<span class="rating_image_small" style="background-position: 0 -250.0000000000px;"></span>
<span class="txt_pale glyph_stat"> / 674</span>
</div>
</small>
</span>
</a>
</li>
var arr = [];
$('span.caption').children('h6').each(function()
{
arr.push($(this).text().trim());
});
console.log(arr.join(","));
您必须使用 replace()
方法将白色 space 替换为昏迷或昏迷和白色 space,如下所示:
makeupCatBrand.replace(" ", ",");
或
makeupCatBrand.replace(" ", ", ");
第一个参数是要替换的字符串部分,第二个参数是要替换的字符串。
您还可以使用 split()
方法来获取这样的字符串数组:
var strArray = makeupCatBrand.split(" ");
您可以按原样拆分字符串,这样您就可以添加一个逗号和惠特 space 如果您想将它保留在最终结果中。
据我所知,因为您似乎有多个 children,请分别检查每个。
这就是它的工作原理。
var makeupCatBrand;
$('span.caption').children('h6').each(function(){
makeupCatBrand += $(this).text().trim();
makeupCatBrand += ", ";
})
var children = $('span.caption').children('h6');
var resultsArray = [];
for (var i=0;i<children.length;i++) {
resultsArray[i] = children[i].textContent;
}
console.log(resultsArray);
一行,以','分隔:
var makeupCatBrand = $('span.caption').children('h6').map(function(){return $(this).text()}).get().join(',');
...因为它是 ',' 可以省略,因为它是默认值。我放在代码里是为了说明分隔符是可以自定义的