通过JAVA的API可以顺利的抓取网络上的大部分指定的网页内容,现与大家分享一下这方法理解与心得。最简单的一种抓取方法就是:
-
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");
-
-
}
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"); }
这种方法抓取一般的网页应该没有问题,但当有些网页中存在一些嵌套的redirect连接时,它就会报Server redirected too many times这样的错误,这是因为此网页内部又有一些代码是转向其它网页的,循环过多导致程序出错。如果只想抓取本URL中的网页内容,而不愿意让它有其它 的网页跳转,可以用以下的代码。
-
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");
-
-
}
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以特殊的系统属性为代理服务器提供支持,只要在上面的程序加上以下程序就可以了。
-
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这个字符串,我们就可以通过正则表达式对它进行分析,提取出自己想要的具体的内容,为我所用,呵呵,这是多么美妙的一件事情啊!!
相关推荐
这个小例子实现了抓取网站内容,获取网站内容,读取网站所有内容,抓取网页内容,获取网页内容,读取网页所有内容,得到上次访问URL,得到请求的URL,很不错的喔!!! 赶紧下啦。。
Java抓取网页内容三种方式
java简单的抓取网页内容的程序java简单的抓取网页内容的程序java简单的抓取网页内容的程序java简单的抓取网页内容的程序java简单的抓取网页内容的程序java简单的抓取网页内容的程序java简单的抓取网页内容的程序java...
csharp仿爬虫抓取网页内容,本项目以抓取招聘网站公司内容为例,里面的去内容的正则表达式需要定期更新,否则抓不到;里面还有每天检测是否能抓到,抓不到则说明网站有更新,需要修改
一键获取网页内容视频源地址下载 浏览器插件,适合大部分浏览器可用 插件获取下载格式: flv、hlv、f4v、mp4、mp3、wma、wav、m4a、letv、ts、webm、 ogg、ogv、acc、mov、mkv、m3u8 MIME类型:video/* audio/*...
C# 抓取网页内容帮助方法,能投通过标签自动匹配想要输出的内容
android获取网页内容,直接获取网页的详细内容
自动抓取网页内容自动抓取网页内容自动抓取网页内容自动抓取网页内容自动抓取网页内容自动抓取网页内容
http协议+socket获取网页内容源代码。
抓取网站内容,我们通常说的小偷程序,有兴趣的下载看下!
JAVA通过url获取网页内容
利用HtmlAgilityPack可以轻松获取网页内容,但是无法获取动态加载的内容, 通过webBrowser模拟浏览器,获取网页内容。 大致思路: 1、webBrowser加载网页 (如有Ajax动态加载分页的网站,需要配合页面动作,直到页面...
java爬虫抓取网页内容,下载网站图片。抓取整个网站的图片,获取网页完整内容
java抓取网页内容 ,简单实用,初学
C#抓取网站内容代码,可以获取各大网站的内容正文的信息。如:新闻网站,等有正文内容的网站。
.net_抓取网页内容类 net 抓取网页内容类 载取网页,读取整个网页的类容,转换网页类容为图像
Android获取网页内容,利用GET方法请求图书馆查询输入框,解析返回的HTML代码,并将查询结果放入ListView之中显示。
C#获取网页内容 C#提取网页中的超链接 读取网页源码
C#抓取网页内容常用类
C#抓取网页内容.pdf