Excel 2013以后的版本提供了WEBSERVICE和FILTERXML函數可用於網頁數據抓取,但只能抓取XML格式的數據。而現在很多網站的網頁或接口返回的都是HTML或JSON數據,那么如何精確的抓取這些數據呢?
今天筆者將以抓取豆瓣網圖書基本信息為例,給大家介紹如何使用Excel API 網絡函數庫抓取JSON格式的網頁數據。
第一步,找到豆瓣網圖書基本信息網頁。
豆瓣網圖書信息網址為https://api.douban.com/v2/book/isbn/:9787111529385,網址最后的一串數字為圖書的ISBN號。
在Firefox瀏覽器下,這個網址將返回以下信息,這些信息是標准的JSON格式,藍色字體的是屬性名稱,紅色字體的對應的屬性值。
第二步,安裝ExcelAPI 網絡函數庫。
訪問ExcelAPI網絡函數庫官網,按照幫助文件安裝函數庫。
http://www.excelapi.net/zh-CN/Home/Help
第三步,使用函數抓取JSON數據。
首先,使用函數GetJsonSource(url,"UTF-8")返回JSON原始數據。
然后,使用函數GetJsonByPropertyName(json_source,property_name)返回書的基本信息
使用GetJsonSource()函數的可一次性抓取所有數據,然后按需抓取,這樣做的目的提高抓取速度,畢竟訪問網頁是需要時間的。