java+static知乎_零基础写Java知乎爬虫之先拿百度首页练练手(3)

完整代码如下:import java.io.*;

import java.net.*;

import java.util.regex.*;

public class Main {

static String SendGet(String url) {

// 定义一个字符串用来存储网页内容

String result = "";

// 定义一个缓冲字符输入流

BufferedReader in = null;

try {

// 将string转成url对象

URL realUrl = new URL(url);

// 初始化一个链接到那个url的连接

URLConnection connection = realUrl.openConnection();

// 开始实际的连接

connection.connect();

// 初始化 BufferedReader输入流来读取URL的响应

in = new BufferedReader(new InputStreamReader(

connection.getInputStream()));

// 用来临时存储抓取到的每一行的数据

String line;

while ((line = in.readLine()) != null) {

// 遍历抓取到的每一行并将其存储到result里面

result += line;

}

} catch (Exception e) {

System.out.println("发送GET请求出现异常!" + e);

e.printStackTrace();

}

// 使用finally来关闭输入流

finally {

try {

if (in != null) {

in.close();

}

} catch (Exception e2) {

e2.printStackTrace();

}

}

return result;

}

static String RegexString(String targetStr, String patternStr) {

// 定义一个样式模板,此中使用正则表达式,括号中是要抓的内容

// 相当于埋好了陷阱匹配的地方就会掉下去

Pattern pattern = Pattern.compile(patternStr);

// 定义一个matcher用来做匹配

Matcher matcher = pattern.matcher(targetStr);

// 如果找到了

if (matcher.find()) {

// 打印出结果

return matcher.group(1);

}

return "Nothing";

}

public static void main(String[] args) {

// 定义即将访问的链接

String url = "http://www.baidu.com";

// 访问链接并获取页面内容

String result = SendGet(url);

// 使用正则匹配图片的src内容

String imgSrc = RegexString(result, "src=\"(.+?)\"");

// 打印结果

System.out.println(imgSrc);

}

}

这样我们就能用java抓出百度LOGO的链接了。

好吧虽然花了很多时间讲百度,但是基础要打扎实啦,下次我们正式开始抓知乎咯!~

以上就是零基础写Java知乎爬虫之先拿百度首页练练手(3) 的内容,更多相关内容请关注PHP中文网(www.php.cn)!

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值