java使用webmagic实现网络爬虫功能(二)
来源:互联网 发布:java中的集合是什么 编辑:程序博客网 时间:2024/06/01 10:26
这里需要爬的是上图的分页数据, 不同于之前的网页,这部分是通过ajax请求加载数据的,可以从浏览器内置的http抓包信息中找到符合要求的post请求,如下
点击进去查看头文件信息,可以看到具体请求的地址与参数,
参数的意义可以通过不停发起请求来推测出来,尝试发起请求返回数据为xml格式的数据,如下
那么我们只需要解析xml来获得自己需要的数据即可,xml的解析不作详细解释,具体见java代码:
//获取列表页新闻 分页/* * page 第几页新闻列表 * perpage 分页系数 * startrecord 第几条开始 * columnid 栏目id 56 政务信息 57 今日南浔 59 视频南浔 。。。 */public void getListNews(){long pageNum = getParaToLong("page",1L);List<Map<String, Object>> data = new ArrayList<Map<String, Object>>();long perpage = 3 ; //perpage 每页多少数据*3系数 为1是 每页3条 2时 每页6条 。。。long startrecord = (pageNum-1)*perpage*3+1; //哪条数据开始 int columnid = 56; String url = "http://www.nanxun.gov.cn/module/jslib/jquery/jpage/dataproxy.jsp?";url +="startrecord="+startrecord;//url +="&endrecord=6"; url +="&perpage="+perpage; url +="&col=1&appid=1&webid=1&unitid=2024&webname=%E5%8D%97%E6%B5%94%E5%8C%BA%E6%94%BF%E5%BA%9C";url +="&columnid="+columnid;String content = HttpKit.get(url);JSON json = JsonKit.convertXmlToJson(content, null); JSONObject jsonObject = JSONObject.fromObject(json); if (jsonObject.has("recordset")) { JSONArray transitListArray = jsonObject.getJSONArray("recordset"); for (int i = 0; i < transitListArray.size(); i++) { Map<String,Object> innerMap = new HashMap<String,Object>(); String obj = transitListArray.get(i)+""; //System.out.println(obj); Html html = new Html(obj); List<String> urlList = html.$("table a", "href").all(); if(urlList.size()>0){ innerMap.put("url", urlList.get(0)); } String title = html.regex("<a style=.font-size:10.5pt;.*>(.*?)</a>", 1).get(); innerMap.put("title", title); String publishDate = html.regex("<td width=.102. align=.center.*>(.*?)</td>", 1).get(); innerMap.put("publishDate", publishDate); data.add(innerMap); } }renderJson(data);}
可以看出可以根据page与startrecord 来自由控制爬第几页的数据,看看上面代码抓取来的数据
over,mark 一下给自己备忘。
0 0
- java使用webmagic实现网络爬虫功能(二)
- java使用webmagic实现网络爬虫功能(一)
- Webmagic网络爬虫(JAVA)
- Java中使用WebMagic框架来实现网络爬虫(实例)
- 使用WebMagic 编写 java 网络爬虫
- Java爬虫(webmagic)
- java 爬虫 WebMagic-使用入门
- 用webmagic实现的网络爬虫
- Java爬虫框架WebMagic的使用总结
- Java爬虫框架WebMagic的使用总结
- Java爬虫框架WebMagic的使用总结
- webmagic爬虫使用
- java 爬虫框架 webmagic
- java爬虫案例--webmagic
- java爬虫技术--webmagic
- Java爬虫-webmagic
- 使用java实现网络爬虫
- webmagic使用手册(分部式网络爬虫) && Spiderman Java开源Web数据抽取工具
- Bootstrap学习笔记(八) Bootstrap支持的JavaScript插件
- 这是第一篇博客
- 一些关于性能优化的总结
- 谷歌小程序(Android Instant Apps)和微信小程序,你更看好哪个?
- C程序设计学习笔记(完结)
- java使用webmagic实现网络爬虫功能(二)
- 工作沉浸的研究现状及展望,2016下载
- 1151. 魔板(BFS+康托展开式)
- leetcode 122 Best Time to Buy and Sell Stock II
- 将 Win32 程序移植到 Linux
- Codeforces 427C Checkposts 强连通分量(tarjan)
- 2D绘图基础——Android群英会浏览记录2
- 学习《core java》记录 -- 第三章
- String s1="AB"和String s2=new String("AB")的区别