【问题标题】:jquery / cheerio selectors : how to get text in tag b?jquery/cheerio 选择器:如何在标签 b 中获取文本?
【发布时间】:2018-03-11 12:32:11
【问题描述】:
<div class="class1">
<div class="item-class1">
<a href="http://www.example.com/1" target="blank" title="title1">
<b>Test1</b>
</a>
</div>
</div>
我确实尝试使用此代码提取链接:
var list = [];
$('.class1 > .item-class1').find('b').each(function (index, element) {
list.push($(element).text());
});
我做错了什么?
【问题讨论】:
标签:
jquery
web-scraping
web-crawler
cheerio
【解决方案1】:
你只是没有使用好的 jQuery 选择器。你必须使用.attr('href') 方法。
这是一个完整的例子:
<div class="class1">
<div class="item-class1">
<a class="tobelisted" href="http://www.example.com/1" target="_blank" title="title1">
<b>Test1</b>
</a>
</div>
</div>
<div class="class1">
<div class="item-class1">
<a class="tobelisted" href="http://www.example.com/2" target="_blank" title="title1">
<b>Test2</b>
</a>
</div>
</div>
<script
src="https://code.jquery.com/jquery-3.3.1.min.js"
integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8="
crossorigin="anonymous"></script>
<script type="text/javascript">
var list = [];
$('.tobelisted').each(function(){
list.push($(this).attr('href'));
});
console.log(list);
</script>