1. 程式人生 > >如何使用webmagic傳送post請求,並解析傳回的JSON

如何使用webmagic傳送post請求,並解析傳回的JSON

1.分析頁面

這裡寫圖片描述

看到引數有3個,分別是cbfy,pageno和pagesize。傳回來的資料是以json形式存在:

這裡寫圖片描述

2.json的解析方法
webmagic-extension包中提供了JsonPathSelector這種選擇語言來選擇資料,如我們需要取得json中的CaseNo的資訊

List<String> CaseNo = new JsonPathSelector("$.list[*].CaseNo").selectList(page.getRawText());

然後得到的是一個size為10的列表。

PageProcessor pageProcessor = new
sd_notice(); Spider spider = Spider.create(pageProcessor); for (int i = 1; i < 10; i++) { String url = null; Map<String, Object> nameValuePair = new HashMap<String, Object>(); NameValuePair[] values = new NameValuePair[3]; values[0] = new BasicNameValuePair("pagesize", "10"
); values[1] = new BasicNameValuePair("cbfy", ""); values[2] = new BasicNameValuePair("pageno", String.valueOf(i)); nameValuePair.put("nameValuePair", values); url = "http://www.zjsfgkw.cn/Notice/NoticeSD?cbfy=&pageno="+String.valueOf(i)+"&pagesize=10"; Request request = new Request(url); request.setExtras(nameValuePair); request.setMethod(HttpConstant.Method.POST); spider.addRequest(request); } spider.thread(3
).run(); //開啟三個執行緒來爬