首先,验证今日头条的接口是否支持jsonp,在接口地址的参数中添加callback=call
http://www.toutiao.com/pgc/ma/?page_type=1&count=10&version=2&platform=pc&media_id=52155491628&max_behot_time=0&as=A1A578A48B28B39&cp=584B080BD3899E1&callback=call
访问接口,返回的数据为:call(...)的形式
由此判断接口支持jsonp,那么接下来就好办了,可以使用jsonp访问接口,然后从返回数据中提取出所需要的数据。
js代码:
var time = 0; var as_param; var cp_param; $(function(){ var param = getParam(); as_param = param.as; cp_param = param.cp; getWeare(); }); function getWeare(){ $.ajax({ url:"http://www.toutiao.com/pgc/ma/?page_type=1&count=10&version=2&platform=pc&media_id=52155491628&max_behot_time=" +time+"&as="+as_param+"&cp="+cp_param+"&callback=tt", type:'get', dataType:'jsonp', jsonp:'tt' }); } function tt(data){ var tarray = []; if(data.has_more==1){ var adata = data.data; for(var i = 0; i < adata.length; i++){ var tmap = {}; var title = adata[i].title; var link = adata[i].source_url; tmap['title'] = title; tmap['url'] = TT + link; tarray.push(tmap); } } }
上面代码中的getParam方法在《Java爬虫爬取今日头条文章,统计生成图表》这篇文章的源码js中。
以上内容为作者原创,转载请注明出处!