【发布时间】:2016-05-20 16:01:53
【问题描述】:
美好的一天,有谁知道如何在 text() 给出的结果中格式化或添加一些额外的字符串(像逗号)?我在网页抓取中使用它。
这是刮板的sn-p:
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 等),以便在推送到数组之前轻松拆分它。非常感谢任何答案或想法
哦,他们都是同一个班级,没有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>$18 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>
【问题讨论】:
-
添加包含该信息的 HTML 代码。
-
$('span.caption').children('h6')返回什么? -
@JoeHanink 控制台日志很长,我会编辑我的帖子以显示一些品牌的 html 代码
-
这很奇怪,你从一个数组(选择器到 h6)开始,然后你想用逗号将它们连接起来,这样你就可以在逗号上将它们拆分回一个数组...
-
@JoeHanink 我认为这只是相互连接的字符串。我想把它推到一个数组,因为代码刮过 h6,但我不知道怎么做。
标签: javascript jquery web-scraping cheerio superagent