jquery抓取网页内容(通过JAVA的API可以顺利的抓取网络上的大部分指定的网页内容)

优采云 发布时间: 2021-12-28 06:14

  jquery抓取网页内容(通过JAVA的API可以顺利的抓取网络上的大部分指定的网页内容)

  通过JAVA API,可以流畅的抓取互联网上大部分指定的网页内容。下面我就和大家分享一下这个方法的理解和体会。最简单的获取方式是:

  Java 代码

  URL url = 新的 URL(myurl); BufferedReader br = new BufferedReader(newInputStreamReader(url.openStream()));字符串 s = ""; StringBuffer sb = new StringBuffer(""); while ((s = br .readLine()) != null) {i++; sb.append(s+"\r\n"); }

  URL url = new URL(myurl); BufferedReader br = new BufferedReader(newInputStreamReader(url.openStream())); String s = ""; StringBuffer sb = new StringBuffer(""); while ((s = br.readLine()) != null) { i++; sb.append(s+"\r\n"); }

  这种方法抓取一般网页应该没有问题,但是当某些网页中存在一些嵌套的重定向连接时,它会报类似服务器重定向次数过多的错误。这是因为这个网页里面有错误。部分代码重定向到其他网页,循环过多导致程序错误。如果只想抓取该网址中网页的内容,而不想将其重定向到其他网页,则可以使用以下代码。

  Java 代码

  URL urlmy = 新 URL(myurl); HttpURLConnection con = (HttpURLConnection) urlmy.openConnection(); con.setFollowRedirects(true); con.setInstanceFollowRedirects(false);连接(); BufferedReader br = new BufferedReader( new InputStreamReader(con.getInputStream(),"UTF-8"));字符串 s = ""; StringBuffer sb = new StringBuffer(""); while ((s = br.readLine()) != null) {sb .append(s+"\r\n"); }

  URL urlmy = new URL(myurl); HttpURLConnection con = (HttpURLConnection) urlmy.openConnection(); con.setFollowRedirects(true); con.setInstanceFollowRedirects(false); con.connect(); BufferedReader br = new BufferedReader(new InputStreamReader(con.getInputStream(),"UTF-8")); String s = ""; StringBuffer sb = new StringBuffer(""); while ((s = br.readLine()) != null) { sb.append(s+"\r\n"); }

  这种情况下,程序在抓取时不会跳转到其他页面去抓取其他内容,达到了我们的目的。

  如果我们在内部网,我们还需要为其添加代理。 Java 为具有特殊系统属性的代理服务器提供支持。只需将以下程序添加到上述程序中即可。

  Java 代码

  System.getProperties().setProperty("http.proxyHost", proxyName); System.getProperties().setProperty( "http.proxyPort", port );

  System.getProperties().setProperty( "http.proxyHost", proxyName ); System.getProperties().setProperty( "http.proxyPort", port );

  这样,您就可以在内部网中,从互联网上获取您想要的东西。

  以上程序检索到的所有内容都存储在字符串sb中,我们可以通过正则表达式对其进行分析,提取出我们想要的具体内容,供我使用,呵呵,这真是太棒了! !

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线