今天写代码的时候,为了节省后端性能,就想用前端浏览器去爬取一个网页并解析出其中的部分内容。
因为涉及到跨域,所以就需要使用到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是转换前的格式。