学习Java网络爬虫

今天学习了一下Java的网络爬虫技术,发现网络爬虫技术首先分为以下几个步骤:

1、打开网页链接

2、把网页代码用一个BufferedReader存放

以下是我做的一个代码实例:

 

在学习网络爬虫的过程中首先要导入两个包:htmllexer.jar,htmlparser.jar

 

public static void main(String[] args) {
  try {
   URL url = new URL("http://www.baidu.com");
   HttpURLConnection httpurl = (HttpURLConnection) url.openConnection();
   
   BufferedReader br = new BufferedReader(new InputStreamReader(httpurl.getInputStream(), "utf-8"));

//采用正则表达式来匹配网页内容
   Pattern p = Pattern.compile("(http://\\w+\\.baidu\\.com)|(\\w://w+\\.baidu\\.com)");
   Matcher m;
   String line;
   while ((line = br.readLine()) != null) {
    m = p.matcher(line);
    
    if (m.find()) {

//只有当网页匹配时才将其打印出来
     System.out.println(line);
    }
   }
  } catch (IOException e) {
   e.printStackTrace();
  }

 

在学习的过程中,遇到了一个很有趣的问题:

那就是正则表达式中find()和matches()方法的区别———find()方法是部分匹配,是查找输入串中与模式匹配的子串,如果该匹配的串有组还可以使用group()函数。

matches()是全部匹配,是将整个输入串与模式匹配,如果要验证一个输入的数据是否为数字类型或其他类型,一般要用matches()。http://blog.csdn.net/liuxuejin/article/details/8643036

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值