繁体   English   中英

Javascript / jQuery - 刮擦IMG SRC

[英]Javascript / jQuery - Scraping IMG SRC

我正在尝试使用Javascript和jQuery库来抓取数据。

到现在为止还挺好。 我能够从标签之间抓取数据。 例如,我想从<li>标签获取数据,我这样做如下:

stuff_found = $(data).find('li');

但是,如果我尝试使用以下代码从<img>标记获取src,则仅返回第一个图像。

stuff_found =  $(data).find('img').attr();

我需要知道如何返回完整列表(页面上的每个图像),而不仅仅是第一行。

最简单的方法是编写图像选择器以仅获取<li>标记内的那些。 然后你可以使用.each()遍历它们,或者,如果你真的只需要image src属性值, .map() 例如:

var imageList = $('li img').map(function()
{
    return $(this).attr('src');
}).get();

在代码示例中,这会发生:

  1. 你首先得到<li>标签内的所有图像 - $('li img')部分。
  2. 然后使用.map()您可以应用一个函数来遍历所有这些函数并提取值。 基本上.map()作用是它接受一个列表,将给定的函数应用于列表的所有元素,并返回带有新处理元素的结果列表。
  3. 带有$(this).attr('src')的部分从image标签中获取实际的src值。
  4. 最后,因为jQuery返回它自己的数组类型而不是标准的javascript数组,所以你需要做.get() - 这就是将返回的对象从jQuery数组转换为标准数组的原因。

页面上的每个图像 ..?

$('li img').each(function(){
  var src = $(this).attr('src');
});

或者获取它们的列表 -

var list = $('li img').map(function() {
              return $(this).attr('src');
           }).get();
$('img').each(function(){
    alert($(this).prop('src'));
});

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM