怎么抓取javascript生成的动态页面

时间:2021-11-06 08:34:16
我想在网站上做个机票查询的功能,我买不了别人的接口,
所以想抓取别的网页的搜索结果,但是它是javascript做的,我不知道怎么抓

29 个解决方案

#1


用DOM对象

#2


哪个网站是这样的?让我看看去

#3


都是这样的阿,各大门户的机票查询,还有那些专业做机票查询的网站

http://cn.travel.yahoo.com/

http://www.ridajipiao.com

http://www.yoee.com/?src=hao123

http://www.qunar.com/twell/index.htm

你知道有返回结果是静态页面的机票查询网站吗?
知道,告诉我,急用

#4


作个iframe,然后把它的代码抓取过来,iframe.document.write( hisCode )进去,然后取iframe.document.body.outerHTML试试

#5


试试

#6


抓页最佳选择当然是xmlhttp了,把页面抓来后用正则等处理一下就行了,以前我抓过天气预报

#7


用IE打开那个页面,然后再在IE地址栏里输入javascript:open("about:blank).document.write(document.documentElement.outerHTML);

#8


glaciall(处女主任_穿上马甲,又是一条好汉) 你的语句是不是写错了,怎么告诉我网页有错误???

#9


自己顶

#10


javascript:open("about:blank").document.write(document.documentElement.outerHTML);
晕,刚刚少了一个引号..
用这个的话,你得要允许弹出窗口哦.在新打开的窗口里,你查看源代码可以看到JS与它生成的HTML并存...

#11


不好意思,再问个问题怎么把上面的javascript语句,放到我的java程序里呢??

#12


用xmlhttp是最好的选择了

#13


用 DOM Inspector
搜一下,DOM查看器之类的,装上,可以实时查看当前DOM及页面。

#14


这个贴子好啊

#15


在java程序里能处理javascript语句吗?

#16


学习,到底怎么才能获得代码呢:
能不能有个详细的步骤?????

#17


我用urlsnooper找到了提交表单的地址:

http://yahoo.elong.com/flights/tsearch.aspx?FLY_TYPE=0&g=result&f=72&AID=yahoopaid&BID=travelsearchbox&r=yahoopaid&k=travelsearchbox&Campaign_ID=7010900000&isnative=1&RETURN_DATE=&DEPART_CITY=PEK&DEST_CITY=ZUH&DEST_CITY2=CAN&FLY_DATE=2006-7-19&FLY_TIME=&FLY_DATE2=&FLY_TIME=&AIR_CORP=&ADULT_NUM=1&CHILD_NUM=0&INFANT_NUM=0

我把段地址copy到我用htmlparser写的应用程序里得不到结果,但是我把地址copy到浏览器就能得到结果

怎么回事?????

#18


PrintWriter out = resp.getWriter();
out.println("<HTML>");
out.println("<TITLE>Error Message</TITLE>");
out.println("<HEAD>");
out.println("<script language=\"javascript\">");
out.println("function _clearSele(){\r\n");
.........
........

#19


qczl1224(倾情一世『qczl.ys168.com』) 多谢回复,能不能说的详细点!!!!

#20


另存后,自己看也行!呵呵

#21


mark

#22


好贴  支持  顶!

#23


小偷程序

#24


关注

#25


自己顶

#26


挺好的,关注!

#27


up

#28


基本搞定

#29


zhaohe1979() 能把您做的最终效果发个link给俺看看不?俺也想做个这个样的东东。

#1


用DOM对象

#2


哪个网站是这样的?让我看看去

#3


都是这样的阿,各大门户的机票查询,还有那些专业做机票查询的网站

http://cn.travel.yahoo.com/

http://www.ridajipiao.com

http://www.yoee.com/?src=hao123

http://www.qunar.com/twell/index.htm

你知道有返回结果是静态页面的机票查询网站吗?
知道,告诉我,急用

#4


作个iframe,然后把它的代码抓取过来,iframe.document.write( hisCode )进去,然后取iframe.document.body.outerHTML试试

#5


试试

#6


抓页最佳选择当然是xmlhttp了,把页面抓来后用正则等处理一下就行了,以前我抓过天气预报

#7


用IE打开那个页面,然后再在IE地址栏里输入javascript:open("about:blank).document.write(document.documentElement.outerHTML);

#8


glaciall(处女主任_穿上马甲,又是一条好汉) 你的语句是不是写错了,怎么告诉我网页有错误???

#9


自己顶

#10


javascript:open("about:blank").document.write(document.documentElement.outerHTML);
晕,刚刚少了一个引号..
用这个的话,你得要允许弹出窗口哦.在新打开的窗口里,你查看源代码可以看到JS与它生成的HTML并存...

#11


不好意思,再问个问题怎么把上面的javascript语句,放到我的java程序里呢??

#12


用xmlhttp是最好的选择了

#13


用 DOM Inspector
搜一下,DOM查看器之类的,装上,可以实时查看当前DOM及页面。

#14


这个贴子好啊

#15


在java程序里能处理javascript语句吗?

#16


学习,到底怎么才能获得代码呢:
能不能有个详细的步骤?????

#17


我用urlsnooper找到了提交表单的地址:

http://yahoo.elong.com/flights/tsearch.aspx?FLY_TYPE=0&g=result&f=72&AID=yahoopaid&BID=travelsearchbox&r=yahoopaid&k=travelsearchbox&Campaign_ID=7010900000&isnative=1&RETURN_DATE=&DEPART_CITY=PEK&DEST_CITY=ZUH&DEST_CITY2=CAN&FLY_DATE=2006-7-19&FLY_TIME=&FLY_DATE2=&FLY_TIME=&AIR_CORP=&ADULT_NUM=1&CHILD_NUM=0&INFANT_NUM=0

我把段地址copy到我用htmlparser写的应用程序里得不到结果,但是我把地址copy到浏览器就能得到结果

怎么回事?????

#18


PrintWriter out = resp.getWriter();
out.println("<HTML>");
out.println("<TITLE>Error Message</TITLE>");
out.println("<HEAD>");
out.println("<script language=\"javascript\">");
out.println("function _clearSele(){\r\n");
.........
........

#19


qczl1224(倾情一世『qczl.ys168.com』) 多谢回复,能不能说的详细点!!!!

#20


另存后,自己看也行!呵呵

#21


mark

#22


好贴  支持  顶!

#23


小偷程序

#24


关注

#25


自己顶

#26


挺好的,关注!

#27


up

#28


基本搞定

#29


zhaohe1979() 能把您做的最终效果发个link给俺看看不?俺也想做个这个样的东东。