版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Java使用HtmlParser实现简单的网络爬虫目的Java使用HtmlParser抓取网页数据并解析。效果图例如:抓取12306网站中货物运价率的数据貝Console胡占粘"rv巳『寸菇D巳Hug<terminated>JavaCrawler[JavaApplication]D:\ProgramFiIes\Java\jdkl.7.021\bin\javaw.exe(2013-11-27上午10:04:31)基价工标连£ 基价2单位基价2标准7.40元■/吨公里0.05657.90元■/吨公里0.065110.50元■/吨公里0.070013.86元/吨公里0・075315.40]元■/吨公里0.084922.20元■/吨公里0.1146^nbsp;元/轴公里0・402516.70元/吨公里0.11340.168元/苗千克公里0.000860.235元皿千克公里0.00120387.50元/箱公里1.7325527.60元/箱公里2.3562吨江屯屯屯屯屯屯斗基元元元元元元亦千千00」.目一目11糜糜
卸7L/卸7L/4567机械冷藏车212220英尺箱40英尺箱名箱箱别车车车车车车车车担担爲廳类整整整整整整整整零霧集集packagecom.zc.test;import.HttpURLConnection;import.URL;importorg.htmlparser.Node;importorg.htmlparser.NodeFilter;importorg.htmlparser.Parser;importorg.htmlparserfilters.AndFilter;importorg.htmlparserfilters.HasAttributeFilter;importorg.htmlparserfilters.TagNameFilter;importorg.htmlparser.nodes.TagNode;importorg.htmlparser.tags.TableColumn;importorg.htmlparser.tags.TableRow;importorg.htmlparser.tags.TableTag;importorg.htmlparser.util.NodeList;©Descriptionjava爬虫测试类©author 张川(cr10210206@163.com)@data 2013-11-2710:01:13
*/publicclassJavaCrawler{/***测试**/publicstaticvoidmain(String[]args){JavaCrawlertest=newJavaCrawler();//货物运价率test.getGoodFareData("/hyinfo/action/JgxxAction_hwyjl?lx=00");//危险品运输栏目 危险品栏目内容//test.getDangerDivData("/hyinfo/page/home-freightProduction-Dangerous_index");//超限超重栏目超限超重栏目内容//test.getDangerDivData("/hyinfo/page/home-freightProduction-overweight_index");}/***获取Parser对象@paramurl@paramurl*/网络地址publicstaticParsergetParser(Stringurl){try{newParserparser=newParser((HttpURLConnection)newURL(url).openConnection());//数据源parser.setEncoding("UTF-8");//编码returnparser;}catch(Exceptione){e.printStackTrace();}returnnull;/***获取货物运价率数据**@paramurl 网络地址*/publicvoidgetGoodFareData(Stringurl){try{//解析器Parserparser=getParser(url);//标签过滤,第一个参数代表过滤的哪个标签,第二个参数代表过滤标签的哪个属性NodeFilterdivFilter=new AndFilter(newTagNameFilter(”table"),newHasAttributeFilter("id","T1"));//把过滤后的内容加入NodeList里进行遍历NodeList nodeList =parser.extractAllNodesThatMatch(divFilter);TableTagtableTag=(TableTag)nodeList.elementAt(0)//获取Table对象TableRow[]tableRows=tableTag.getRows();//获取行数组Stringandstr=" ";Systemout.println(”类别名称 运价号 基价1单位 基价1标准 基价2单位 基价2标准");for(inti=2;i<tableRows.length;i++){TableRowtableRow=tableRows[i];TableColumn[]tableColumns=tableRow.getColumns();//获取列数组TOC\o"1-5"\h\zString typeName =tableColumns[0].getStringText().replace(andstr,"”).trim();String fareid =tableColumns[1].getStringText().replace(andstr,"”).trim();String price1Unit =tableColumns[2].getStringText().replace(andstr,"”).trim();String price1St =tableColumns[3].getStringText().replace(andstr,"”).trim();String price2Unit =tableColumns[4].getStringText().replace(andstr,"”).trim();String price2St =tableColumns[5].getStringText().replace(andstr,"”).trim();System.out.println(typeName+" "+fareid+""+price1Unit+" "+price1St+" "+price2Unit+"
+price2St);}}catch(Exceptione){e.printStackTrace();*获取危险品运输栏目数据*@paramurl网络地址*/publicvoidgetDangerDivData(Stringurl){try{//解析器Parserparser=getParser(url);//标签过滤,第一个参数代表过滤的哪个标签,第二个参数代表过滤标签的哪个属性NodeFilterdivFilter=new AndFilter(newTagNameFilter("div"),newHasAttributeFilter("class","cleft"));//把过滤后的内容加入NodeList里进行遍历nodeListNodeListnodeListparser.extractAllNodesThatMatch(divFilter);Nodenode=nodeList.elementAt(0);NodeListchildNodeList=node.getChildren();if(childNodeList!=null&&childNodeList.size()>0){System.out.println("\n\n栏目标识 栏目名称”);for(inti=0;i<childNodeList.size();i++){NodechildNode=childNodeList.elementAt(i);if(childNodeinstanceofTagNode){TagNodetag=(TagNode)childNode;Stringid=tag.getAttribute("id");Stringvalue=tag.toPlainTextString();if(id!=null){System.out.println(id+" "+value);id;\n");url=url.substring(0,url.index0f("_"id;\n");System.out.println("["+value+"]的内容如下:this.getDangerContent(url);System.out.println( ");}}}}}catch(Exceptione){e.printStackTrace();}}*危险品栏目内容*@paramurl网络地址*/publicvoidgetDangerContent(Stringurl){try{//解析器Parserparser=getParser(url);//标签过滤,第一个参数代表过滤的哪个标签,第二个参数代表过滤标签的哪个属性NodeFilterdivFilter=new AndFilter(newTagNameFilter("div"),newHasAttribu
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 身体用润肤液市场发展预测和趋势分析
- 2024年度影视制作合同的制片内容、制作周期与投资回报
- 纸或塑料杯市场发展预测和趋势分析
- 2024年度商务咨询合同:涉及咨询内容、咨询期限及咨询费用等细节
- 2024年度服装定制合同标的:企业员工工作服设计制作
- 2024年度5G基站建设项目工程承包合同
- 2024年度品牌授权使用合同with品牌管理条款
- 04年特许经营权授予合同
- 2024年度专利实施许可合同:某专利持有者将其专利许可给另一方的合同
- 2024年度环保项目评估咨询服务合同
- 江苏省南师附中2023-2024高一上学期期中数学试卷及答案
- 无缝线路完整
- 识别危险源-远离危险-公开课课件
- 南平市建阳区发电有限责任公司宸前水力发电厂增效扩容改造工程环境影响报告
- 压力容器及压力管道课件
- HTML5 CSS3网页设计与制作 课件全套 吕麦丝 第1-11章 网页设计基础- CSS 中的动画与特效
- PBL教学法在临床护理教学中的应用
- 23秋国家开放大学《法律咨询与调解》形考任务1-4参考答案
- 武田人才留享计划
- 火龙罐联合耳穴压豆治疗失眠个案护理
- 法律保护我们健康成长 单元作业设计
评论
0/150
提交评论