cihren 发表于 2014-10-18 19:24:15

回复 8# Authree


    数据一般都是从“0”开始放的呢。

haijie1223 发表于 2014-10-18 19:26:52

回复 11# cihren


    获取源码用打开网页的方法效率是不是低了点,换成$sHtml = BinaryToString(InetRead("http://qid1030.1688.com/page/contactinfo.htm",1))这个试试~

cihren 发表于 2014-10-18 19:27:51

回复 2# veket_linux


    不是的哦,不光是Listview, MesBo、ControleWrite都不行的。

    14楼有方案。

cihren 发表于 2014-10-18 19:28:42

回复 3# Authree


    MsgBox也不行的。

cihren 发表于 2014-10-18 19:39:19

回复 13# shqf


    这一招还真管用,使用ConsoleWrite结合14楼的方法,终于找到了问题所在。

    上图:
这是_IEReadBodHtml读出的源文件。


这是_INetGetSource读出的源文件。


看来差别很大啊!~

cihren 发表于 2014-10-18 19:46:12

回复 17# haijie1223


    呵呵,果然有效。分析源码后发现和14楼用_INetGetSource方法的结果一致,源码文件也一样。

    看来InetRead和_INetGetSource是殊途同归,只是_IEBodyReadHTML有些另类。$sHtml = BinaryToString(InetRead("http://qid1030.1688.com/page/contactinfo.htm",1))
$sHtml = _INetGetSource("http://qid1030.1688.com/page/contactinfo.htm"))

haijie1223 发表于 2014-10-18 20:55:51

回复 21# cihren

_INetGetSource应该和我的代码一样的,其实获取源代码方法很多,用winhttp的方法也可以

Authree 发表于 2014-10-18 22:11:10

回复 21# cihren


    学习了,,感谢楼主,通过这个帖子可以学习到获取网页的相关用法。新手还在摸索学习中。。

zhaoyun 发表于 2014-10-20 08:13:16

学习了,,

vuivui 发表于 2014-10-21 16:08:00

inet.au3 里面就是用的这个:BinaryToString(InetRead()
我向来这样用的,很多包含文件其实也就几句代码有用,脱去包含文件不仅代码简单,而且有利于理解。

vuivui 发表于 2014-10-21 16:09:08

inet.au3 里面就是用的这个:BinaryToString(InetRead()
我向来这样用的,很多包含文件其实也就几句代码有用,脱去包含文件不仅代码简单,而且有利于理解。

deaph 发表于 2014-10-21 17:22:07

学习了,感谢分享!!

cihren 发表于 2014-10-23 00:04:10

回复 25# vuivui


    嗯,看来这个确实比IE.au3要强好多。

Qokelate 发表于 2014-11-9 09:04:30

认真想下就明白了

IE.au3 调用的是IE功能, 获取下来就是IE渲染后的HTML(本地HTML)文件源码(或许还会自动修正语法错误什么的)

而inetread是读取服务器的返回, 只负责取数据, 不会进行后处理

cihren 发表于 2014-11-11 22:08:04

回复 22# haijie1223


    使用 Inetread() 读取网页源码的时候,提示访问频繁,关闭程序后立即再运行一陈,又是这个提示,再关再运行,如此反复。有什么好的解决方案呢?
  清除cookies也没用。。。
页: 1 [2] 3
查看完整版本: 正则表达式的奇怪问题,晒晒~【已解决】