很多网站是用js或Jquery 生成数据的,到后台获取到数据以后,用 document.write()或者("#id").html="" 的方式 写到页面中,这个时候用浏览器查看源码是看不到数据的。
如果是ajax加载的通过浏览器找到接口数据直接采集接口返回的内容。如果在页面上已经存在的,自己正则提取下数据
可以用PhantomJS等webdriver来抓取ajax的数据
http://blog.csdn.net/eq___/article/details/52721732
既然是生成的页面,直接拿数据格式(网页上一定有,仔细看),实在不行自己定义数据格式(可能会漏刀),能找到借口的直接拿借口数据。
ajax返回的是HTML,那就和a标签是一样的。访问地址后提出其中的地址就OK了。差别在于提取地标签中的地址与ajax地址是不一样的
有两种方法:
一种方法就是直接读取ajax返回的内容,一般是JSON数据,有很多工具可以解析JSON。
第二种方法就是解析JS,通过模拟浏览器来抓取数据,一般的工具有selenium、PhantomJS等。
建议第一种,比较方便快捷;第二种比较慢,还要解析HTML。关键还是看自己需求了。
使用java模拟访问,将返回的数据进行处理