找回密码
 加入
搜索
查看: 6390|回复: 12

[IE类操作] 请问如何获取html源文件而不改变编码

  [复制链接]
发表于 2010-4-12 23:20:38 | 显示全部楼层 |阅读模式
我通过InetGet() 获取回来的htm与 IE 中察看源文件不一致。
不知道是不是编码的问题,但是区别很小,只是在 <a href=""></a> 中的超链不一致.

例如这两个地址:

通过 IE 察看得到的:
http://xxx&key=750b0522dae7457a881f824bc32c0621f410c2&amp;

通过 InetGet() 得到的:
http://xxx&key=0ba08793c352d0095cc8444bc32c0795f1ed6a&amp;


希望能得到高手们的帮助,非常感谢!
发表于 2010-4-12 23:22:56 | 显示全部楼层
这个可能本身就是会改变的。你刷新后看看。
发表于 2010-4-12 23:23:58 | 显示全部楼层
这个是动态的 刷新一次变一次
发表于 2010-4-12 23:25:51 | 显示全部楼层
大概是自动用户id 浏览器版本信息之类 或者只是网站防盗链弄得随机地址
 楼主| 发表于 2010-4-12 23:35:56 | 显示全部楼层
还真的是,刷新后就变了.

我目的是想获取这网页上的htm,从而提取其中的真实地址。麻烦各位看看有没办法。
万分感激!!!!

http://www.flvcd.com/parse.php?f ... t=%BF%AA%CA%BCGO%21
发表于 2010-4-12 23:40:30 | 显示全部楼层
本帖最后由 lainline 于 2010-4-12 23:44 编辑

这个网站有后台程序从网页代码里大概分析不出什么

最好从flvcd.js入手
 楼主| 发表于 2010-4-12 23:41:13 | 显示全部楼层
用 intget 得到的真实地址和上面提供的非常相似.
但是 inetget 得到的就是下不了,而上面的就正常。
希望上面的大大帮忙!!
 楼主| 发表于 2010-4-12 23:55:25 | 显示全部楼层
看来真的比较麻烦了。
哎!!
发表于 2010-4-13 01:01:44 | 显示全部楼层
Local $Url = 'http://www.flvcd.com/parse.php?flag=&format=&kw=http%3A%2F%2Fwww.tudou.com%2Fprograms%2Fview%2FRzVVLjETta8%2F&sbt=%BF%AA%CA%BCGO%21'
Local $oHTTP = ObjCreate("microsoft.xmlhttp")
$oHTTP.Open("get", $Url, False)
$oHTTP.Send()
Local $str = BinaryToString($oHTTP.responseBody)
Local $sR = StringRegExp($str, ':\h*<a href\h*\=\h*"(.+?)".+?copyToClipboard\(.(.+?).\)', 3)
If @Error Then Exit Msgbox(0, 48, 'No~')
Local $link = StringRegExpReplace($sR[0], 'amp;', '')
ClipPut($link)
MsgBox(0, $sR[1], '下载地址:"' & $link & '"' & @LF & '已复制至剪贴板,可自行粘贴到地址栏测试~')
 楼主| 发表于 2010-4-13 02:01:04 | 显示全部楼层
感谢afan大,你真强!!!
 楼主| 发表于 2010-4-13 03:13:05 | 显示全部楼层
还有个请求,请问可以解释下这段代码吗?
感觉上面用的东西在帮助李没有相关说明。
好像用了 类对象 不知是否可以,多谢!
发表于 2010-4-13 17:00:13 | 显示全部楼层
.innerHTML
发表于 2010-4-14 21:33:07 | 显示全部楼层
我也来写一个,使用IE.AU3 来获取地址
#include <IE.au3> 

$URL = "http://www.flvcd.com/parse.php?flag=&format=&kw=http%3A%2F%2Fwww.tudou.com%2Fprograms%2Fview%2FRzVVLjETta8%2F&sbt=%BF%AA%CA%BCGO%21"
$oIE = _IECreate($URL)
$oElements = _IETagNameAllGetCollection ($oIE)
For $oElement In $oElements
        
        If StringCompare("a",$oElement.tagname) = 0 Then 
                
                If StringInStr($oElement.innerText,"http://") > 0 Then
                        MsgBox(0,"URL",$oElement.innerText)
                EndIf
        EndIf
Next

_IEAction($oIE,"quit")
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-5-18 17:09 , Processed in 0.084620 second(s), 24 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表