API說明——下載gsExtractor內容提取器html
下載內容提取器python
若是您想編寫一個網絡爬蟲程序,您會發現大部分時間耗費在調測網頁內容提取規則上,不講正則表達式的語法如何怪異,即使使用XPath,您也得逐個編寫和調試。git
若是要從一個網頁上提取不少字段,逐個調試XPath將是十分耗時的。經過這個接口,你能夠直接得到一個調測好的提取器腳本程序,是標準的XSLT程序,您只需針對目標網頁的DOM運行它,就能得到XML格式的結果,全部字段一次性得到。github
這個XSLT提取器能夠是您用MS謀數臺生成的,也能夠是其餘人共享給您的,只要您有讀權限,皆可下載使用。正則表達式
用於數據分析和數據挖掘的網絡爬蟲程序中,內容提取器是影響通用性的關鍵障礙,若是這個提取器是從API得到的,您的網絡爬蟲程序就能寫成通用的框架。請參看GooSeeker的開源Python網絡爬蟲項目。segmentfault
3.1,接口地址(URL)api
http://www.gooseeker.com/api/getextractor
3.2,請求類型(contentType)
不限網絡
3.3,請求方法
HTTP GET框架
3.4,請求參數測試
key 必選:Yes;類型:String;說明:申請API時分配的AppKey
theme 必選:Yes;類型:String;說明:提取器名,就是用MS謀數臺定義的規則名
middle 必選:No;類型:String;說明:規則編號,若是相同規則名下定義了多個規則,需填寫
bname 必選:No;類型:String;說明:整理箱名,若是規則含有多個整理箱,需填寫
註釋:請參看GooSeeker網絡爬蟲術語解釋:集搜客GooSeeker專有名詞解釋
3.5,返回類型(contentType)
text/xml; charset=UTF-8
3.6,返回參數
HTTP消息頭中的參數,以下:
more-extractor 類型:String;說明:相同規則名下有多少個提取器。一般只在可選參數沒有填寫的時候須要關注這個參數,用以提示客戶端有多個規則和整理箱,客戶端本身決定是否要在發送請求時攜帶明確的參數
3.7,返回錯誤信息
消息層錯誤以HTTP 400返回,好比,URL中的參數不符合本規範
應用層錯誤以HTTP 200 OK返回,具體錯誤碼用XML文件放在消息體中,XML結構以下:
<return> <code>具體的錯誤碼</code> </return>
具體的code值以下:
keyError:權限驗證失敗 paramError:URL中傳來的參數有誤,好比,參數名稱或值不正確 empty:非錯誤狀態,而是請求的提取器是不存在的,好比,某個抓取規則並無建立整理箱,則返回empty
提取器名獲取參考 1分鐘快速生成用於網頁內容提取的xslt
示例代碼:
# -*- coding: utf-8 -*- from urllib import request url = 'http://www.gooseeker.com/api/getextractor?key=您的key&theme=您的提取器名' resp = request.urlopen(url) content = resp.read() if(content): print(content)
接下來我會對此API進行測試,將案例發佈出來。
1, GooSeeker開源Python網絡爬蟲GitHub源
1,2016-06-22:V1.0