Board logo

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

作者: bd123456789     时间: 2009-8-26 04:16    标题: 网站登录后如何得到当前网页的源代码?
我先是打开www.hao123.com/ 请问如何用脚本得到 当前网页的源代码? 要求是不重新打开新的网页或隐藏式打开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
需要做更多复杂模拟人为操作的, 需要做网页游戏外挂的,可以试试网页幽灵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: [code] '大概一个例子,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论坛审核提示批处理<纸黄金网专用版>www.cn-dos.net/forum/viewthrea ... [ Last edited by yishanju on 2009-8-27 at 09:50 ]

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

作者: 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