27b2a540a006310584df9b951c8741f5.png

通过最近的讨论,大家应该已经知道了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教程。

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐