栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

java爬虫爬取网页内容

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

java爬虫爬取网页内容

通过最近的讨论,大家应该已经知道了python和java都可以进行爬虫操作,只不过就是它们在具体实现的时候方式不同,过程量不一样而已,其实都是爬虫操作的好工具。本文小编就向大家介绍java爬虫爬取网页内容的原理及具体实现代码。

1、网络爬虫

按照一定的规则爬取网页上的信息,通常是爬取到一些URL之后然后对这些URL放入队列在一次次的进行搜索。

2、Java爬虫网页

网页的内容,找到在网页中的其它链接地址,然后通过这些链接地址寻找下一个网页,这样一直循环下去,直到把这个网站所有的网页都抓取完为止。如果把整个互联网当成一个网站,那么网络蜘蛛就可以用这个原理把互联网上所有的网页都抓取下来。

3、Java爬虫爬取网页内容方法:用apache提供的包

// commons-httpclient-3.1.jar
// commons-logging-1.0.4.jar
public static String createhttpClient(String url, String param) {
   HttpClient client = new HttpClient();
   String response = null ;
   String keyword = null ;
   PostMethod postMethod = new PostMethod(url);
//  try {
//   if (param != null)
//    keyword = new String(param.getBytes("gb2312"), "ISO-8859-1");
//  } catch (UnsupportedEncodingException e1) {
//   // TODO Auto-generated catch block
//   e1.printStackTrace();
//  }
   // NamevaluePair[] data = { new NamevaluePair("keyword", keyword) };
   // // 将表单的值放入postMethod中
   // postMethod.setRequestBody(data);
   // 以上部分是带参数抓取,我自己把它注销了.大家可以把注销消掉研究下
   try {
    int statusCode = client.executeMethod(postMethod);
    response = new String(postMethod.getResponseBodyAsString()
      .getBytes( "ISO-8859-1" ), "gb2312" );
      //这里要注意下 gb2312要和你抓取网页的编码要一样
    String p = response.replaceAll( "//&[a-zA-Z]{1,10};" , "" )
      .replaceAll( "<[^>]*>" , "" ); //去掉网页中带有html语言的标签
    System.out.println(p);
   } catch (Exception e) {
    e.printStackTrace();
   }
   return response;
}

Java爬虫中使用apache提供的包爬取网页内容还是很方便的,大家可以套入代码使用哦~更多java学习推荐:java教程。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/15109.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号