JAVA使用爬虫抓取网站网页内容的方法_java

本文实例讲述了JAVA使用爬虫抓取网站网页内容的方法。分享给大家供大家参考。具体如下:

最近在用JAVA研究下爬网技术,呵呵,入了个门,把自己的心得和大家分享下
以下提供二种方法,一种是用apache提供的包.另一种是用JAVA自带的.

代码如下:

// 第一种方法
//这种方法是用apache提供的包,简单方便
//但是要用到以下包:commons-codec-1.4.jar
// 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自带的URL来抓取网站内容
public String getPageContent(String strUrl, String strPostRequest,
   int maxLength) {
  // 读取结果网页
  StringBuffer buffer = new StringBuffer();
  System.setProperty("sun.net.client.defaultConnectTimeout", "5000");
  System.setProperty("sun.net.client.defaultReadTimeout", "5000");
  try {
   URL newUrl = new URL(strUrl);
   HttpURLConnection hConnect = (HttpURLConnection) newUrl
     .openConnection();
   // POST方式的额外数据
   if (strPostRequest.length() > 0) {
    hConnect.setDoOutput(true);
    OutputStreamWriter out = new OutputStreamWriter(hConnect
      .getOutputStream());
    out.write(strPostRequest);
    out.flush();
    out.close();
   }
   // 读取内容
   BufferedReader rd = new BufferedReader(new InputStreamReader(
     hConnect.getInputStream()));
   int ch;
   for (int length = 0; (ch = rd.read()) > -1
     && (maxLength <= 0 || length < maxLength); length++)
    buffer.append((char) ch);
   String s = buffer.toString();
   s.replaceAll("//&[a-zA-Z]{1,10};", "").replaceAll("<[^>]*>", "");
   System.out.println(s);
   rd.close();
   hConnect.disconnect();
   return buffer.toString().trim();
  } catch (Exception e) {
   // return "错误:读取网页失败!";
   //
   return null;
  }
}

然后写个测试类:

public static void main(String[] args) {
  String url = "http://www.jb51.net";
  String keyword = "";
  createhttpClient p = new createhttpClient();
  String response = p.createhttpClient(url, keyword);
  // 第一种方法
  // p.getPageContent(url, "post", 100500);//第二种方法
}

呵呵,看看控制台吧,是不是把网页的内容获取了

希望本文所述对大家的java程序设计有所帮助。

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索java
, 爬虫
, 抓取
网页内容
java爬虫抓取网页数据、java爬虫抓取网页图片、java爬虫抓取网页链接、java爬虫抓取网页文字、java爬虫抓取动态网页,以便于您获取更多的相关知识。

时间: 2024-10-03 17:14:19

JAVA使用爬虫抓取网站网页内容的方法_java的相关文章

java在网页上面抓取邮件地址的方法_java

本文实例讲述了java在网页上面抓取邮件地址的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: import java.io.BufferedReader;  import java.io.InputStreamReader;  import java.net.URL;  import java.util.regex.Matcher;  import java.util.regex.Pattern;    public class h1  {     public stati

详解JAVA抓取网页的图片,JAVA利用正则表达式抓取网站图片_java

利用Java抓取网页上的所有图片: 用两个正则表达式: 1.匹配html中img标签的正则:<img.*src=(.*?)[^>]*?> 2.匹配img标签中得src中http路径的正则:http:\"?(.*?)(\"|>|\\s+) 实现: package org.swinglife.main; import java.io.File; import java.io.FileOutputStream; import java.io.InputStream;

Java爬虫抓取视频网站下载链接_java

本篇文章抓取目标网站的链接的基础上,进一步提高难度,抓取目标页面上我们所需要的内容并保存在数据库中.这里的测试案例选用了一个我常用的电影下载网站(http://www.80s.la/).本来是想抓取网站上的所有电影的下载链接,后来感觉需要的时间太长,因此改成了抓取2015年电影的下载链接. 一 原理简介 其实原理都跟第一篇文章差不多,不同的是鉴于这个网站的分类列表实在太多,如果不对这些标签加以取舍的话,需要花费的时间难以想象. 分类链接和标签链接都不要,不通过这些链接去爬取其他页面,只通过页底的

使用Python编写简单网络爬虫抓取视频下载资源_python

我第一次接触爬虫这东西是在今年的5月份,当时写了一个博客搜索引擎,所用到的爬虫也挺智能的,起码比电影来了这个站用到的爬虫水平高多了! 回到用Python写爬虫的话题. Python一直是我主要使用的脚本语言,没有之一.Python的语言简洁灵活,标准库功能强大,平常可以用作计算器,文本编码转换,图片处理,批量下载,批量处理文本等.总之我很喜欢,也越用越上手,这么好用的一个工具,一般人我不告诉他... 因为其强大的字符串处理能力,以及urllib2,cookielib,re,threading这些

网页-如何网络爬虫抓取淘宝交易数据

问题描述 如何网络爬虫抓取淘宝交易数据 小弟学软件的,现在想开淘宝店,想想怎么能快速获得用户数据推广产品,问问说网络爬虫可行,可是对这方面不了解,有哪位大神可以教一下,获取自己和其他用户网页上的商品信息之类的,作为分析. 解决方案 搜索引擎如百度都不让抓淘宝里的交易数据,淘宝的安全工程师都不是吃素的,建议你换个课题吧 解决方案二: 可以先看看对应数据的http,浏览器查看一下是否有对应的api,然后再考虑怎么发送请求 解决方案三: 关于电商网站的爬虫,大家可以学习一下这个系列的教程:http:/

C# Winform项目,如何实现定期抓取网站中指定栏目中的内容

问题描述 C# Winform项目,如何实现定期抓取网站中指定栏目中的内容 在C# Winform项目中,想通过"网络爬虫"定时抓取某个网站中的指定某个菜单中的内容(指定某个菜单的内容有可能是列表,也有可能纯文字或文字加图片的说明内容). 注:指定某个菜单中的内容是列表的话,"网络爬虫"既可以抓取列表也可以抓取列表对应的每条明细内容 请问各位,有没有能实现上述功能"网络爬虫"的相关资料,最好能提供"网络爬虫"相关DEMO.谢谢

有关搜索引擎爬虫抓取原理浅析

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 本文简单的分析了爬虫抓取网页的一些基本原理与大家同享,能基本了解网页的几个排名因素:链接的建设和网页的布局,多多体会,写的不好也别骂,谢谢! 爬虫的工作原理包括抓取,策略和存储,抓取是爬虫的基本劳动过程,策略是爬虫的智慧中枢,存储是爬虫的劳动结果,我们按照由浅入深的过程来了解整个爬虫的工作原理. 1:从种子站点开始抓取 基于万维网的蝴蝶型结构

nodejs爬虫抓取数据乱码问题总结_node.js

一.非UTF-8页面处理. 1.背景 windows-1251编码 比如俄语网站:https://vk.com/cciinniikk 可耻地发现是这种编码 所有这里主要说的是 Windows-1251(cp1251)编码与utf-8编码的问题,其他的如 gbk就先不考虑在内了~ 2.解决方案 1. 使用js原生编码转换 但是我现在还没找到办法哈.. 如果是utf-8转window-1251还可以http://stackoverflow.com/questions/2696481/encoding

java简单网页抓取的实现方法_java

本文实例讲述了java简单网页抓取的实现方法.分享给大家供大家参考.具体分析如下: 背景介绍 一 tcp简介 1 tcp 实现网络中点对点的传输 2 传输是通过ports和sockets ports提供了不同类型的传输(例如 http的port是80) 1)sockets可以绑定在特定端口上,并且提供传输功能 2)一个port可以连接多个socket 二 URL简介 URL 是对可以从互联网上得到的资源的位置和访问方法的一种简洁的表示,是互联网上标准资源的地址. 互联网上的每个文件都有一个唯一的