使用YQL解决让前端爬取网页并解析

今天写代码的时候,为了节省后端性能,就想用前端浏览器去爬取一个网页并解析出其中的部分内容。

因为涉及到跨域,所以就需要使用到JSONP,但是JSONP需要返回JSON格式,而我们是需要爬取一个网页的内容,所以直接使用JSONP将会报错。所以我们需要使用YQL来帮我们将HTML内容解析成JSON格式。

 1 $.ajax({
 2    url: "http://query.yahooapis.com/v1/public/yql"
 3  , type:'jsonp'
 4  , data: {
 5      q: "select * from html where url=\"http://www.baidu.com/\"",
 6      format: "json"
 7    }
 8  , success:  (resp)=> {
 9      console.log(resp)
10    }
11 });

url是固定的,为yql服务的地址,format是你想要解析的格式。q是YQL语句,其中的html是转换前的格式。

 

posted @ 2017-05-01 18:53  这名字就是霸气  阅读(601)  评论(0编辑  收藏  举报