Board logo

标题: 网站登录后如何得到当前网页的源代码? [打印本页]

作者: bd123456789     时间: 2009-8-26 04:16    标题: 网站登录后如何得到当前网页的源代码?
我先是打开http://www.hao123.com/
请问如何用脚本得到
当前网页的源代码?
要求是不重新打开新的网页或隐藏式打开http://www.hao123.com/

但下面的代码会重新打开并获取它..(与要求不符)
Set oDOM = WScript.GetObject("http://www.hao123.com/
")
do until oDOM.readyState = "complete"
WScript.sleep 200
loop
str=oDOM.documentElement.outerText
msgbox str
这种方式就是重新打开网站然后获取..

盼赐教..

为什么要这样:
主要是因为有些网页是在登录网站以后需要进行处理..

Last edited by bd123456789 on 2009-8-26 at 04:29 ]

作者: yishanju     时间: 2009-8-26 05:06
CURL和
WGET

可以试试,

作者: yishanju     时间: 2009-8-26 05:29
需要做更多复杂模拟人为操作的,
需要做网页游戏外挂的,可以试试网页幽灵http://bbs.wg5511.com/?fromuid=41178

作者: bd123456789     时间: 2009-8-26 05:53
Originally posted by yishanju at 2009-8-26 05:06 AM:
CURL和
WGET

可以试试,



试了
不行..

使用WGET,它还是需要重新打开网页,结果得到不登录后的网页源代码了..

作者: yishanju     时间: 2009-8-26 10:10
Originally posted by bd123456789 at 2009-8-26 05:53:



试了
不行..

使用WGET,它还是需要重新打开网页,结果得到不登录后的网页源代码了..


有相关参数,使用COOKIE 保存COOKIE就可以了

我似乎用过,但是太长时间不用了忘记了
自己查资料吧
网上资料,例子够多了

作者: sexfio     时间: 2009-8-26 14:36
这个问题我早问过 了,没人回答的出来
我的办法都是alt v alt c 然后复制原代码

作者: yishanju     时间: 2009-8-26 19:21
Originally posted by sexfio at 2009-8-26 14:36:
这个问题我早问过 了,没人回答的出来
我的办法都是alt v alt c 然后复制原代码


永远等别人给你解决?没有主动去提升自己技术水平啊?

作者: everest79     时间: 2009-8-26 20:52

'大概一个例子,webstring里边的文本就是当前URL的源文件,你可以FSO,ADS保存
webstring = getweb("http://www.sohu.com")

function getweb(url)
dim xmlhttp
set xmlhttp = createobject("msxml2.xmlhttp")
xmlhttp.open "POST",url,false
xmlhttp.send(now)
getweb = xmlhttp.responsetext
end function

作者: bd123456789     时间: 2009-8-26 23:50
Originally posted by everest79 at 2009-8-26 08:52 PM:

'大概一个例子,webstring里边的文本就是当前URL的源文件,你可以FSO,ADS保存
webstring = getweb("http://www.sohu.com")

function getweb(url)
dim xmlhtt ...


先谢了
我把已经打开的网页替换了一下
测试了还不行

作者: zqz0012005     时间: 2009-8-27 02:09
改用 InternetExplorer.Application

作者: sexfio     时间: 2009-8-27 09:25
Originally posted by bd123456789 at 2009-8-26 23:50:


先谢了
我把已经打开的网页替换了一下
测试了还不行

你试什么呀,他那个连题目都没看胡乱给个代码你还试,真晕

有这么简单还问什么啊

作者: sexfio     时间: 2009-8-27 09:27
Originally posted by yishanju at 2009-8-26 19:21:


永远等别人给你解决?没有主动去提升自己技术水平啊?


不要屁话,有本事就贴代码,老子没主动提升?老子为这个问题baidu了整整3天,吗的,最看不起你这种人,照你这种要求,以后论坛都关闭算了!垃圾!

作者: yishanju     时间: 2009-8-27 09:46
其实两三年前我就做过了,这个是用NC的批处理版本 Discuz论坛审核提示批处理<纸黄金网专用版>http://www.cn-dos.net/forum/viewthread.php?tid=28580&fpage=1&highlight=%2Byishanju

Last edited by yishanju on 2009-8-27 at 09:50 ]

作者: yishanju     时间: 2009-8-27 09:48
批处理做的脚本不够稳定,后来又用PYTHON写了一个论坛审核提示http://hi.baidu.com/yinkeju/blog/item/7f80552c9a0cb1ed8b13994c.html

作者: everest79     时间: 2009-8-27 12:37
Originally posted by sexfio at 2009-8-27 09:25 AM:

你试什么呀,他那个连题目都没看胡乱给个代码你还试,真晕

有这么简单还问什么啊


见过傻的没见过这么傻的,难道是传说中的热血青年?

作者: everest79     时间: 2009-8-27 12:40
LZ,现在的网站都是支持自动登录的,你要访问登录后的URL,就在手动登录时选上以后自动登录,然后使用脚本就可以得到那个源文件了


Const URI = "http://www.sohu.com"
Call SaveFile(URI,"temp.txt")

Function GetHtml(url)
Set xml = CreateObject("MsXml2.XMLHTTP")
xml.open "GET",url,False '优先读IE缓存使用GET,否则使用POST
xml.send
GetHtml =xml.ResponseBody
Set xml = Nothing
End Function

Sub SaveFile(url,file)
Set oStream = CreateObject("ADODB.Stream")
With oStream
.Type = 1
.Open
.Write GetHtml(url)
.SaveToFile file
.Flush
.Close
End With
Set oStream = Nothing
End Sub