菜鸟求助,用JAVA如何获取动态加载的网页内容

kevinlynn 2012-11-29 11:11:43
例如这个页面
http://odds.500wan.com/fenxi/yazhi_same.php?cid=5&cp=平手/半球&id=384285&s1=0.800&s2=0.960
我想获取
的实际内容,
现如果这样写
try{

url = new URL(addr);
isr = new InputStreamReader(url.openStream());
br = new BufferedReader(isr);
while((webLine = br.readLine()) != null){

webBuffer.append(webLine);

};
isr.close();
br.close();
url = null;


}catch (MalformedURLException e) {
System.out.println("Address Error!");
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
实际是不能获取我想要的内容的,因为这部分在源代码中是这样的,
<tr id="lodingtr"><td colspan="12">数据加载中,请稍候....</td></tr>
求教,如何获取这部分的内容,谢谢!
...全文
967 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
引用 9 楼 geminit2011 的回复:
这个其实我在作毕业设计的时候做过,当时做的是网络爬虫部分。 网络爬虫也只能爬取静态的页面。对于这种ajax的网页,当时我采取的思路是采用java浏览器,先加载ajax的网页信息,然后读取浏览器中的html代码。思路就是这样。 java浏览器当时用的是jrex。可以作为思路参考下,当时是完全实现了的,要实现你的功能应该没问题的。
我现在也在做毕业设计,您能否把解决方法说的再仔细一点呢?
Kevinzhoushizhen 2014-10-23
  • 打赏
  • 举报
回复
引用 13 楼 geminit2011 的回复:
将文件html存储在本地 然后在解析 就OK 了
试过了,不好用啊。。。
Kevinzhoushizhen 2014-10-23
  • 打赏
  • 举报
回复
楼主解决了吗?怎么已经结贴了?
Android_OuYang 2014-02-12
  • 打赏
  • 举报
回复
楼主,你的问题解决了没,我也遇到这个问题,求指导.
soton_dolphin 2012-11-30
  • 打赏
  • 举报
回复
用 jsp 啊
Geminit 2012-11-30
  • 打赏
  • 举报
回复
HttpUnit地址 http://sourceforge.net/projects/htmlunit/?source=dlp
Geminit 2012-11-30
  • 打赏
  • 举报
回复
package httpunit;

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.MalformedURLException;
import java.util.List;
import com.gargoylesoftware.htmlunit.FailingHttpStatusCodeException;
import com.gargoylesoftware.htmlunit.NicelyResynchronizingAjaxController;
import com.gargoylesoftware.htmlunit.ScriptResult;
import com.gargoylesoftware.htmlunit.WebClient;
import com.gargoylesoftware.htmlunit.html.HtmlOption;
import com.gargoylesoftware.htmlunit.html.HtmlPage;
import com.gargoylesoftware.htmlunit.html.HtmlSelect;

public class WorldBankCrawl {

	private static String TARGET_URL = "http://odds.500wan.com/fenxi/yazhi_same.php?cid=5&cp=平手/半球&id=384285&s1=0.800&s2=0.960";

	public static void main(String[] args)
			throws FailingHttpStatusCodeException, MalformedURLException,
			IOException {
		// 模拟一个浏览器
		WebClient webClient = new WebClient();
		// 设置webClient的相关参数
		webClient.setJavaScriptEnabled(true);
		webClient.setCssEnabled(false);
		webClient.setAjaxController(new NicelyResynchronizingAjaxController());
		webClient.setTimeout(35000);
		webClient.setThrowExceptionOnScriptError(false);
		// 模拟浏览器打开一个目标网址
		HtmlPage rootPage = webClient.getPage(TARGET_URL);

		rootPage.save(new File("/home/share/Test"));
	}
}
将文件html存储在本地 然后在解析 就OK 了
Geminit 2012-11-30
  • 打赏
  • 举报
回复
http://collect.dreamrunner.org/02/42 这篇文章看对你有没有帮助
kevinlynn 2012-11-30
  • 打赏
  • 举报
回复
引用 9 楼 geminit2011 的回复:
这个其实我在作毕业设计的时候做过,当时做的是网络爬虫部分。 网络爬虫也只能爬取静态的页面。对于这种ajax的网页,当时我采取的思路是采用java浏览器,先加载ajax的网页信息,然后读取浏览器中的html代码。思路就是这样。 java浏览器当时用的是jrex。可以作为思路参考下,当时是完全实现了的,要实现你的功能应该没问题的。
可以提供点代码参考下吗? 顺便弱弱的问一下,jrex的jar包去哪里下,我怎么到处搜都是无效的链接...悲剧啊
snow-is-my-Love 2012-11-30
  • 打赏
  • 举报
回复
引用 6 楼 kevinlynn 的回复:
TO scottxzj:有没有比较好用的,推荐一个。
jericho-html-3.2.jar 我原来用的是这个,不知道现在有没有新的包了
Geminit 2012-11-30
  • 打赏
  • 举报
回复
这个其实我在作毕业设计的时候做过,当时做的是网络爬虫部分。 网络爬虫也只能爬取静态的页面。对于这种ajax的网页,当时我采取的思路是采用java浏览器,先加载ajax的网页信息,然后读取浏览器中的html代码。思路就是这样。 java浏览器当时用的是jrex。可以作为思路参考下,当时是完全实现了的,要实现你的功能应该没问题的。
kevinlynn 2012-11-30
  • 打赏
  • 举报
回复
引用 3 楼 peng_hao1988 的回复:
想将整个文件全部读取进来,然后通过DOM4J解析,找到想要的节点即可。
我的思路也是把所有都读进来,但后面的方法比较挫,我写了一些正则表达式来匹配,但是目前的 问题就是不知道用什么方法把整个文件读进来,我目前的那段代码只能读到 <tr id="lodingtr"><td colspan="12">数据加载中,请稍候....</td></tr> 这个东西,读不到实际的内容。
悲催的程序猿 2012-11-30
  • 打赏
  • 举报
回复
引用 5 楼 scottxzj 的回复:
网络爬虫 网上有很多的源码包,方法都是封装完的 ,引用一下 一直调用就行了
+1
kevinlynn 2012-11-30
  • 打赏
  • 举报
回复
TO scottxzj:有没有比较好用的,推荐一个。
snow-is-my-Love 2012-11-30
  • 打赏
  • 举报
回复
网络爬虫 网上有很多的源码包,方法都是封装完的 ,引用一下 一直调用就行了
kevinlynn 2012-11-30
  • 打赏
  • 举报
回复
我的思路也是把所有都读进来,但后面的方法比较挫,我写了一些正则表达式来匹配,但是目前的 问题就是不知道用什么方法把整个文件读进来,我目前的那段代码只能读到 <tr id="lodingtr"><td colspan="12">数据加载中,请稍候....</td></tr> 这个东西,读不到实际的内容。
桃园闲人 2012-11-30
  • 打赏
  • 举报
回复
想将整个文件全部读取进来,然后通过DOM4J解析,找到想要的节点即可。
kevinlynn 2012-11-30
  • 打赏
  • 举报
回复
我想用JAVA获取到截图部分的HTML代码。 JSP怎么获取,能否给个案例。

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧