根据专利号到专利查询的网站上抓取想要的信息(下)
2014-02-26 20:39
302 查看
上一回讲了怎么根据一个专利号发送我们要查询信息的请求,详情请看根据专利号到专利查询的网站上抓取想要的信息(上)。接下来要做的就是从一个Excel表中去读取我们要查的一系列的申请号,然后将抓到的信息写到我们的Excel表中。
这里需要引入的是jexcel.jar包了,下载地址,或是从本文的附件中拿过去。这里要说明的是这个jar包目前只支持excel95-2003以及以下的支持,这个需要特别注意的,如果你的文件是xlsx结尾的,那么记得把它另存为.xls格式的。
这还是一个比较粗糙的,算是jsoup和jexcel的一个抛砖引玉吧,自己也还有很多不知道的,还有待进一步的深入。
附件jecxeclapi.jar下载地址:点这里去下载页面
这里需要引入的是jexcel.jar包了,下载地址,或是从本文的附件中拿过去。这里要说明的是这个jar包目前只支持excel95-2003以及以下的支持,这个需要特别注意的,如果你的文件是xlsx结尾的,那么记得把它另存为.xls格式的。
public static void main(String[] args) { System.out.println(System.setProperty("sun.net.client.defaultConnectTimeout", String .valueOf(100000)));// (单位:毫秒) WebpageCapture demo = new WebpageCapture(); WritableWorkbook book = null; try { //demo.captureHtml("111.142.55.73"); //Workbook对象用来解析Excel文件 Workbook workbook ; //工作表,用于解析Excel文件里面的工作表 Sheet sheet; //这里我的文件是直接放在项目中的,所以没有加具体的路径信息 workbook = Workbook.getWorkbook(new File("要读取的文件.xls")); //getSheet(0)表示读取Excel文件的第一个工作表,如果要读取第二个就是getSheet(1),其他的以此类推。 //也可以接受getSheet(String str)的形式,str表示工作表的名字 sheet = workbook.getSheet(0); String sqid = ""; //一个我们新创建的Excel文件 book = Workbook.createWorkbook(new File("要写的文件.xls")); WritableSheet sheet2 = book.createSheet("sheet1", 1); int j = 0; //下面的循环用来读取每一个申请号,sheet.getCell(int column, int row) //和我们平常的习惯不一样,这里第一个要写的是列,第二个是行 for(int i=0; i<100; i++){ sqid = sheet.getCell(0, i+1).getContents(); System.out.println(sqid+"的信息"+"\t"+(i+1)); sheet2.addCell(new Label(0,j++,sqid+"的信息")); //根据sqid调用getFeiInfo(int sqid,WritableSheet sheet2,int rows) //上面的rows表示选用的信息的行数,主要用于排版的作用 //至于这里的getInfo方法也是基于上一讲的getFeiInfo(String sqid); j = demo.getFeiInfo(sqid,sheet2,j); } } catch (Exception e) { e.printStackTrace(); }finally{ try { //把缓存的信息写进去 book.write(); } catch (IOException e) { e.printStackTrace(); } try { //关闭对文件的解析 book.close(); } catch (WriteException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } }下面是
getFeiInfo(int sqid,WritableSheet sheet2,int rows)的具体实现
public int getFeiInfo(String sqid, WritableSheet sheet2, int j) throws IOException, RowsExceededException, WriteException { Document doc = Jsoup.connect("http://app.sipo.gov.cn:8080/searchfee/searchfee_action.jsp").data("sqh", sqid).post(); Elements info = doc.getElementsByTag("tr").select(".dixian1"); int i = 0; for (Element element : info) { sheet2.addCell(new Label(i++,j,element.text())); if(8==i){ i=0; j++; } } return j; }得到的Excel表的内容显示如下
这还是一个比较粗糙的,算是jsoup和jexcel的一个抛砖引玉吧,自己也还有很多不知道的,还有待进一步的深入。
附件jecxeclapi.jar下载地址:点这里去下载页面
相关文章推荐
- 根据专利号到专利查询的网站上抓取想要的信息(上)
- PHP中CURL技术模拟登陆抓取网站信息,用与微信公众平台成绩查询
- php根据isbn书号查询amazon网站上的图书信息的示例
- php根据isbn书号查询amazon网站上的图书信息的示例
- 根据域名查询网站的服务器信息,可以鉴别是否是aliyun等
- 电话号码归属地查询——利用邮编从网络上抓取地址信息(2)
- 互联网站备案信息 查询
- 网络爬虫(一)--抓取天气预报网站城市信息
- 根据身份证号和社会保险号码查询不出您的医保信息,请核实后重新填写
- 腾讯QQ隐私信息泄露:可怕的qq群关系查询网站
- php实现的获取网站备案信息查询代码(360)
- SOA实现根据动态数目的ID查询信息
- php实现的获取网站备案信息查询代码(360)
- 长途汽车站api 根据城市名查询汽车站相关信息
- Mybatis根据id查询用户信息
- 用shell脚本收集查询IP信息的网站
- 织梦标签dede:sql根据页面动态参数变量动态查询调用其它信息
- 根据淘宝ip数据库查询ip归属地信息
- PHP_SQL根据当前坐标查询5公里以内的信息
- 如何查询一个网站所在服务器信息