Java 抓取网页内容实现代码的完整攻略分为以下几个步骤:
- 建立与目标网站的网络连接。
Java 通过 URL 对象建立与目标网站的网络连接。URL 对象通过带参数的构造函数传入要访问的网站地址。
URL url = new URL("https://www.example.com");
- 获取网络连接的输入流。
通过 URL 对象的 openStream() 方法获取网络连接的输入流,以便读取目标网站的内容。
InputStream is = url.openStream();
- 读取输入流中的内容。
Java 提供了多种方法读取输入流中的内容, 我们可以使用 BufferedReader 对象来完成这项工作。代码示例如下:
BufferedReader br = new BufferedReader(new InputStreamReader(is));
String line;
while ((line = br.readLine()) != null) {
System.out.println(line);
}
以上代码将读取输入流中的每一行并打印到控制台。
- 关闭网络连接。
使用完毕后要记得关闭网络连接以释放资源。
is.close();
如下是一个示例代码,该代码将抓取“百度新闻”首页的内容并打印到控制台上。
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.URL;
public class JavaWebCrawler {
public static void main(String[] args) throws Exception {
URL url = new URL("https://news.baidu.com");
InputStream is = url.openStream();
BufferedReader br = new BufferedReader(new InputStreamReader(is));
String line;
while ((line = br.readLine()) != null) {
System.out.println(line);
}
is.close();
}
}
另一个示例代码将抓取猫眼电影“正在热映”页面的内容,并使用正则表达式提取页面中的电影名称和评分。
import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.URL;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class JavaWebCrawler {
public static void main(String[] args) throws Exception {
URL url = new URL("https://maoyan.com/films?showType=3");
InputStream is = url.openStream();
BufferedReader br = new BufferedReader(new InputStreamReader(is));
StringBuilder sb = new StringBuilder();
String line;
while ((line = br.readLine()) != null) {
sb.append(line);
}
is.close();
Pattern p = Pattern.compile("<span class=\"name\">(.+?)</span>.*?<integer>(.+?)</integer>");
Matcher m = p.matcher(sb.toString());
while (m.find()) {
String name = m.group(1);
String rating = m.group(2);
System.out.println(name + ",评分:" + rating);
}
}
}
该示例代码使用 StringBuilder 对象将整个网页的内容读取到一个字符串中,并使用正则表达式提取电影名称和评分。具体正则表达式的解释就不做过多说明了。
以上是“Java 抓取网页内容实现代码”的完整攻略,希望可以帮助你实现网页抓取功能。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:java 抓取网页内容实现代码 - Python技术站