从其他网站提取信息 - Javascript / jQuery

时间:2017-11-10 05:49:05

标签: javascript jquery html ajax

我目前正在尝试测试并了解如何从cnn.com提取信息并获取带有类名称的文章的部分标题," cd__headline-text。& #34;但是,当我使用$.ajax函数获取带有该类名的cnn上文章的标题时,我收到一条错误消息response.getElementsByClassName is not a function.

以下是提示发生此错误的代码:

$(document).ready(function(){
    $("button").click(function(){
    console.log("hi test");
    $.ajax({
        url: "https://www.cnn.com",
        cache: false,
        success: function(response){
            filter = response.getElementsByClassName("cd__headline-text");
            console.log(filter);
        }
    });

    });
});

我当前的console.log(response);输出位于此链接中:

https://pastebin.com/SsBSPdBL

2 个答案:

答案 0 :(得分:0)

  

然而,当我使用$ .ajax函数获取标题时   有关该类名的cnn上的文章我得到一个错误   response.getElementsByClassName不是函数。

因为响应不是Node或DOM元素

您需要parse the XML并按属性

查找元素
xmlDoc = $.parseXML( response ),
$xml = $( xmlDoc ),

现在从中获取所需的值

$title = $xml.find( "[class='cd__headline-text']" );

$title = $xml.find( ".cd__headline-text" );

如果值已经是HTML ,则只需

 $( response ).find( ".cd__headline-text" )

答案 1 :(得分:0)

试试这个,或查看URL

 $(document).ready(function(){
    $("button").click(function(){
    console.log("hi test");
    $.ajax({
       url: "https://www.cnn.com",
       cache: false,
       success: function(response){
           $(response).find('.cd__headline-text').each(function(){
              console.log($(this).html());
           });
      }
    });
    });
});

希望这会对你有所帮助。