我想阅读更多网页,我有阅读它的代码
public class TestWebPages{
private static void readPage(String url){
try {
URL accessUrl = new URL(url);
BufferedReader in = new BufferedReader(new InputStreamReader(accessUrl.openStream()));
String line;
while ((line = in.readLine()) != null) {
if (someCondition)
System.out.println(line);
}
in.close();
} catch (Exception ex) {
ex.printStackTrace();
}
}
}
但页面是级联的,如何扩展此类,但只更改if子句。这可能吗? 我不想每次都写代码。
谢谢
答案 0 :(得分:0)
看起来您正在尝试实施网络抓取工具。您可以尝试更改if条件,以检查行读取是否包含使用正则表达式或其他方法的URL。然后,您将在网址上递归调用readPage()
方法。如果您只能更改if
块,那么您可以实现的内容非常有限,并且会遇到一些问题,例如您的程序在页面上无限递归,其中url指向您已经阅读过的页面。有很多方法,但只在if
块中实现它们将是一个挑战。