Java实验(11) 网页分析
来源:互联网 发布:淘宝电瓶广告车 编辑:程序博客网 时间:2024/05/22 07:03
抓取厦大主页中的“快速链接”下的所有内容。
提示,“快速链接”部分的HTML形如:
<li><a href="http://e.weibo.com/xmunews" target="_blank"><i class="icon icon-list-alt"></i>官方微博</a></li>
程序输出为:[序号] 标题 URL ,每行一个链接,如:
[1]官方微博 http://e.weibo.com/xmunews
[2]易班厦大 http://yiban.xmu.edu.cn/
[3]厦大网址导航 http://123.xmu.edu.cn/
……
import java.util.ArrayList;import java.util.Scanner;public class WebCrawler { public static void main(String[] args) { ArrayList<String> list=new ArrayList<>(); ArrayList<String> list2=new ArrayList<>(); try{ java.net.URL url= new java.net.URL("http://www.xmu.edu.cn/"); Scanner input= new Scanner(url.openStream()); String s="icon icon-list-alt\"></i>"; String s2="<li><a href="; int len=s.length(); int len2=s2.length(); int current=0,current2=0; while(input.hasNext()){ String line=input.nextLine(); current = line.indexOf(s2,current); current2=line.indexOf(s,current2); //网址部分 while(current>0){ int endIndex= line.indexOf("target=\"_blank\"><i class=\"icon icon-list-alt\"></i>",current); if(endIndex>0){ list.add(line.substring(current+len2+1,endIndex-2)); current =line.indexOf(s2,endIndex); } else current=-1; } //标题部分 while(current2>0){ int endIndex2= line.indexOf("</a></li>",current); if(endIndex2>0){ list2.add(line.substring(current2+len,endIndex2)); current2 =line.indexOf("target=\"_blank\"><i class=\"icon icon-list-alt\"></i>",endIndex2); } else current2=-1; } } } catch(Exception ex){ System.out.println("Error: "+ex.getMessage()); } for(int i=0;i<list.size();i++){ System.out.print("["+(i+1)+"]"); System.out.print(list2.get(i)+"\t"); System.out.println(list.get(i)); } }}
0 0
- Java实验(11) 网页分析
- java算法:实验和实现分析
- Java综合性实验 - 学生成绩分析程序
- Java读取网页数据并分析
- [Java] 实验11
- JAVA分析html算法(JAVA网页蜘蛛算法)
- JAVA分析html算法(JAVA网页蜘蛛算法)
- 哈工大编译原理第一次实验--词法分析(Java版本)
- java读取(正则表达式分析)网页内容
- java用正则表达式分析读取网页内容(1)
- java用正则表达式分析读取网页内容(2)
- java用正则表达式分析读取网页内容
- java读取(正则表达式分析)网页内容
- Java中如何利用Selenium获取元素分析网页内容
- Java中如何利用Selenium获取元素分析网页内容
- 基于webmagic的java网页爬虫,抓取网页指定节点,然后使用dom4j分析xml数据
- 实验: XML分析
- 索引性能 实验分析
- appCloud学习积累
- Js apply 方法 详解
- shell line 1: #!/bin/bash: No such file or directory
- qtp执行文本中的sql语句/脚本
- IE8常见兼容性错误
- Java实验(11) 网页分析
- 【商业逻辑分析】之一:为什么淘宝上的卖家95%都不赚钱?
- 线程的生命周期
- mysql时间戳
- 视频码率
- Xcode反汇编调试iOS模拟器程序
- Android studio导出的apk在真机上安装提示“文件不存在或已失效”的解决方法
- js正则表达式的运用
- 将数据库文件导入mysql并输出为txt文件