ImageVerifierCode 换一换
格式:DOC , 页数:16 ,大小:70.50KB ,
资源ID:3149848      下载积分:20 文钱
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,省得不是一点点
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.wenke99.com/d-3149848.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(Excel 希望狼版主教教我们读取网页数据方面的知识.doc)为本站会员(hw****26)主动上传,文客久久仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知文客久久(发送邮件至hr@wenke99.com或直接QQ联系客服),我们立即给予删除!

Excel 希望狼版主教教我们读取网页数据方面的知识.doc

1、我收集的资料,供你参考近期写了一段程序:从网上下载数据,写入数据库,查询、分析、打印。找了很多的资料,现作一回顾总结,本篇主要写网页数据下载与控制。 (以下均为本人的一些心得,写的不对的,请各位师傅指正。希望本文能对和我一样菜的朋友有一些帮助。 )一、概述及感谢二、Maxthon 的使用三、网页关键字(录入、按钮、数据)解读四、POST 、GET 与 NAME、VALUE五、使用 WebBrowser六、使用 IE七、查询结果是新弹出窗口的控制八、使用 POST 方法九、使用 EXCEL 获取网页数据十、例:利用 webbrowser 获得网页数据附件一、XmlHttp 对象用法示例与说明一、

2、概述及感谢需要用到网页控制的方面,大致概括一下为:1、程序中需要嵌入一个网页,例如:天气预报。2、需要从网上下载数据,写入到本地数据库中。特别需要感谢 Winland 对我的指导。二、Maxthon 的使用无论哪方面的应用,首要的是找到网址(也许是废话) 。以 Winland 的天气预报为例,假如我的程序需要这样一个东西,我该如何下爪:1、打开 http:/ ,打开:http:/ Maxthon 的 viewpage。5、在“框架”中,发现一个“内嵌框架” ,点击打开。发现原来天气预报的网址为:http:/ Maxthon,我们可以很方便地找到我们所需要的真正的网址。在 viewpage 中还

3、有一个“表单” ,里面很清楚地显示了 Name,method,以及 Action。我理解这个 Action 就是“结果网页”的网址的后半部分(不知对不对?) 。(在网页的表单里面 Action 是目标地址,就是处理这些递交内容的服务器端脚本。 如果Action 为空的话,就是当前文件。 )三、网页关键字(录入、按钮、数据)解读ASP 脚本片断的开始和结束。在标签之间的脚本代码,在主页传递给用户浏览器之前 会在服务器上执行。和 标示网页的开头,标示网页的结束。和 网页上的文本应该放置在这些标示之间和 表格的开始和结束表格边框参数明确表格边框的宽度和 放置表格标题于这些标示之间和 标示在表格里开始

4、一新行。表格中每行以标示结束。和 使用这些标示来明确表格单元格。每个单元格以 标示开始,以标示结束。表格单元格可以包含任何内容,包括另一个表格。我们需要重点关注的就是: 和 , 和 以及 和 。文本框:,有的省略了TYPE,VALUE 及 SIZE,但应该是有关键字 INPUT 及 NAME。选择框:EUR Euro 当前值USD United States DollarsCAD Canada Dollars单选钮:升序 当前选择降序按健:(winland 注解:这个地方建议写的详细一点,先介绍一下简单的 HTML 文档格式,再说说 Document Object Model,这个对下面的内容

5、更有帮助。 ) (查了一下关于 DOM 的内容,大致看了一下,好像很复杂,也没有一个介绍的比较系统的,所以,暂时写不出来。 )四、POST 、GET 与 NAME、VALUE为了从网页获取数据,需要明确参数。要在网络查询里,向网络服务器发送参数的话,那么需要在核实某个具体网络服务器使用哪种方法后,使用 POST 或者 GET 方法。打开源码,查找“POST” ,如果给网络服务器发送参数使用的是 POST 方法,那么文本POST 就应该出现。如果网络服务器使用 GET 方法接收参数的话,那么可以在浏览器地址栏里看到该参数名称和值。例如:http:/www.nycenet.edu/dist_sch

6、/sch/searchresult/asp?boro=Manhattan “)End Function、如果你所需要的网页网址中带有?,但取值规则不清楚,比如用一长串数值代替,则需要从上一级开始查起,我们估且称之为“查询网页”和“结果网页” 。通过分析“查询网页”使用程序自动输入、选择、点击,或用户使用时输入、选择、点击,打开“结果网页” 。但此时就存在一个问题:“结果网页”是在新窗口中打开的,并没有显示在 WebBrowser1中!这时候,我们从下面的几种方法中找到一种适合于自己的:(具体见后)、 “遍历已打开的 IE 窗口” ,找到“结果网页” ,读网址、关闭网页,使用 EXCEL 的“获

7、取外部数据”将网页内容读到 EXCEL 中。、 “遍历已打开的 IE 窗口” ,找到“结果网页”的 hwnd(句柄) ,置为当前,然后模拟鼠标点击一下,再 sendkey:全选、复制、关闭网页,最后在 EXCEL 中粘贴。、 “遍历已打开的 IE 窗口” ,找到“结果网页” ,恢复对 IE 的控制,读 innerhtml,分析innerhtml。、强制新窗口也在 WebBrowser1 中显示,不另开 IE 或 Maxthon,读 innerhtml,分析innerhtml。、使用 POST 方法(winland 提供) 。、使用 EXCEL 的 POST 方法。、如果你所需要的网页网址中没有

8、?,无论你的查询条件是什么, “结果网页”的网址都不变,此时,如果直接在 IE 中输入该地址,则什么也得不到。对于这类网页也只能从上一级开始查起,同上。(我刚完成的这个程序就属于这类,使用 winland 提供的 POST 方法都不行,最后使用EXCEL 的 POST 方法完成)六、使用 IE 1、如果不想使用 WebBrowser,而想使用 Internet Explorer,或者“结果网页”是新窗口而“被迫”使用,控制起来也还比较方便。Dim IEPL As ObjectSet IEPL = CreateObject(“InternetExplorer.Application“)IEPL.

9、Visible = False 隐藏打开网页URLstr=”http:/www.xxx.xxx/”IEPL.Navigate URLstr与 webbrowser 一样,当页面调用完毕时,发生 DocumentComplete 事件。读 InnerhtmlIEPL.Quit 关闭或:Shell (“C:Program FilesInternet ExplorerIEXPLORE.exe about:blank“)遍历已打开的 IE 窗口,通过窗口标题找到刚才打开的 IE(或“结果网页”新窗口) ,恢复对 IE 的控制。遍历已打开的 IE 窗口Dim dWinFolder As New Shel

10、lWindowsDim objIE As ObjectDim Czpmxurl As String, Czpmxname As String For Each objIE In dWinFolderCzpmxname = objIE.LocationName 标题If InStr(Czpmxname, “查询结果“) ThenZdurl = TrueEnd IfNextIf Zdurl then 找到了objIE.application.Visible = False 隐藏Czpmxurl = objIE.LocationURL 网址读 Innerhtmlend ifobjIE.applica

11、tion.Quit 关闭2、如果“结果网页”新窗口不是 IE,而是 Maxthon,则要麻烦一些,上面提到的隐藏和关闭方法对 Maxthon 分别无效和出错,其它控制方法倒是一样。此时要关闭 Maxthon,则要使用 sendkey Alt+F4 的方法了。当然,也可以通过修改注册表,将 IE 设置为默认。七、查询结果是新弹出窗口的控制当查询结果是新弹出窗口,前面已谈到 IE 控制,下面再谈两种方法:1、例:通过窗口标题,找到“结果网页”的 hwnd(句柄) ,置为当前,然后模拟鼠标点击一下,再 sendkey:全选、复制、关闭网页,最后在 EXCEL 中粘贴。定义 API 函数Declare

12、 Function FindWindow Lib “user32“ Alias “FindWindowA“ (ByVal lpClassName As String, ByVal lpWindowName As String) As LongDeclare Sub Sleep Lib “kernel32“ (ByVal dwMilliseconds As Long)Declare Function SetForegroundWindow Lib “user32“ (ByVal hwnd As Long) As LongDeclare Function ClientToScreen Lib “u

13、ser32“ (ByVal hwnd As Long, lpPoint As POINTAPI) As LongType POINTAPIx As Longy As LongEnd TypeDeclare Function GetSystemMetrics Lib “user32“ (ByVal nIndex As Long) As LongPublic Const SM_CXSCREEN = 0Public Const SM_CYSCREEN = 1Declare Sub mouse_event Lib “user32“ (ByVal dwFlags As Long, ByVal dx As

14、 Long, ByVal dy As Long, ByVal cButtons As Long, ByVal dwExtraInfo As Long)Public Const MOUSEEVENTF_MOVE = http:/xxx.xx.xx/“ With ActiveSheet.QueryTables.Add(Connection:=Weburl, http:/10.228.98.9/eventresult.php“Strpost =“year_start=%202007&month_start=%205&date_start=%2012&“ & _“hour_start=%200“ &

15、_“&year_end=%202007&month_end=%205&date_end=%2013&hour_end=%200“ & _“&substation%5B%5D=00&R1=sortall&order=1&desckey=“With Exsheet.QueryTables.Add(Connection:=weburl, & _Destination:=Exsheet.Range(“a1“).PostText = Strpost post 字串.BackgroundQuery = True.WebSelectionType = xlSpecifiedTables.WebTables

16、= “1“ 导入网页中的第一个表,也只有一个表格,网页上可能会包含很多个表格,表格让你组织网页内容。当在记事本里查看 HTML 源代码时,你会发现通过下述标签你很容易识别这些表格:(表格开始)和 (表格结束).WebFormatting = xlWebFormattingAll.RefreshStyle = xlOverwriteCells.AdjustColumnWidth = TrueOn Error GoTo Wlcw.Refresh BackgroundQuery:=False 发送命令?On Error GoTo 0.SaveData = TrueEnd With数据已写入到 EXCEL

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。