爬虫导入
来源:互联网 发布:拼接视频的软件 编辑:程序博客网 时间:2024/05/16 14:43
新东家还没开放所有权限,因此就临时接了一位同学手上的小工具活,功能是从某网站抓取数据并导入比对。场景看属于最简单的,直接reponse回来就能解析获取了。小工具用的是jsoup,相关材料也很多。(一开始先把原来的netbean工程改成eclipse,强迫症)
(一)主要抓取流程
设置url ,请求方式get或者post等int requestType = rule.getRequestMoethod();Connection conn = Jsoup.connect(url);设置参数conn.data(params[i], values[i]);获取返回页面doc对象doc = conn.timeout(5000).get();//根据实际情况post或者get等等其他解析,简单列举了几个,基本就是dom的操作了,非常简洁~results = doc.getElementsByClass(resultTagName);results = doc.getElementsByTag("body");Elements links = result.getElementsByTag("td");
(二)导入碰到的问题
数据抓取后,原先是通过poi生成xls再导入。但是有个问题,解析用的是split(“xxx”) 拆分预处理生成的由分隔符拼接的字符串,但是该方法默认只会重复匹配n-1次,最后如果出现”\n\n\n”等空字符串拼接的情况该函数只会匹配一次,从而导致返回的列数不对。
【如果需要匹配可以采用split(“\n”,-1)强制匹配到最后一个匹配符得出正确结果】
临时规避方法则是,代码避免生成空字符串或者由于office2007编辑后默认保存为空字符串。具体做法通过poi生成的时候强制设定了单元格格式(避免编辑后由于格式兼容重新设置为空字符串)
<pre name="code" class="java">HSSFCellStyle cellStyle = hwb.createCellStyle();cellStyle.setBorderBottom(HSSFCellStyle.BORDER_THIN); // 下边框cellStyle.setBorderLeft(HSSFCellStyle.BORDER_THIN);// 左边框cellStyle.setBorderTop(HSSFCellStyle.BORDER_THIN);// 上边框cellStyle.setBorderRight(HSSFCellStyle.BORDER_THIN);// 右边框设置单元格格式item.setCellStyle(cellStyle);item.setCellValue(new HSSFRichTextString(descs[j]));
生成后或者生成后在编辑保存,不会由于2007格式保存兼容处理默认为空字符串,而是默认的null类型,程序可以识别列数正常导入。
总结,练手验证性能。。。。
0 0
- 爬虫导入
- 爬虫+数据导入Excel
- 爬虫:CSDN文章批量抓取以及导入WordPress
- 爬虫
- 爬虫
- 爬虫
- 爬虫
- 爬虫
- 爬虫
- 爬虫
- 爬虫
- 爬虫
- 爬虫
- 爬虫
- 爬虫
- 爬虫
- 爬虫
- 爬虫
- [UE4][Custom Animation Graph Node]Evaluate Pose by Curve
- MVC框架显示层——Velocity技术
- Laxcus大数据管理系统2.0 (1) - 摘要和目录
- CodeForces 482B-Interesting Array(线段树)
- 杭电2063
- 爬虫导入
- Java 单例真的写对了么?
- Core Data入门
- Classification with Imbalanced Data
- java线程安全总结
- 西普实验吧CTF-考考你的程序功底
- iOS开发拓展篇—静态库
- 此证书的签发者无效Missing iOS Distribution signing identity问题解决(转)
- android项目框架中libs之**.so