并不是所有的数据都在网页代码中,对于通过AJAX方式更新数据的Web页面,通常会使用Web API的方式从服务端获取数据,然后通过JavaScript代码将这些数据显示在Web页面的组件中。在这种情况下,无法通过抓取HTML代码的方式获取这些数据,而要通过直接访问这些Web API的方式从服务端抓取数据。
Web API返回数据的形式有多种,但通常是以JSON格式的数据返回,当然,有可能会在返回的数据中插入其他的东西,例如JavaScript代码、HTML代码、CSS等。这就要具体问题具体分析了。对于这种情况,是无法编写通用的爬虫程序的,需要针对特定的Web API进行分析和抓取。
本例分析了http://www.weather.com.cn网站的Web API数据格式,并模拟浏览器访问该网站的Web API,通过该网站的Web API可以获取指定城市的天气预报数据。本例不仅详细描述的实现过程,还深入分析了如