网页数据下载与控制
一、概述及感谢
需要用到网页控制的方面,大致概括一下为:
1、程序中需要嵌入一个网页,例如:天气预报。
2、需要从网上下载数据,写入到本地数据库中。
二、Maxthon的使用
无论哪方面的应用,首要的是到网址(也许是废话)。
Winland的天气预报为例,假如我的程序需要这样一个东西,我该如何下爪:
1、打开www.17u
2、点击“天气预报”,打开:www.17u/tianqi
3、查一个城市试试,此时结果到了,但网址没变。
4、点击Maxthonviewpage。
5、在“框架”中,发现一个“内嵌框架”,点击打开。发现原来天气预报的网址为:
www.17u/WeatherInfoIfm.aspx?CityName=%e5%ae%9c%e6%98%8c
6、下一步,在我们自己的程序中就可以使用这个网址,直接来查询了。
综上所述,通过Maxthon,我们可以很方便地到我们所需要的真正的网址。
viewpage中还有一个“表单”,里面很清楚地显示了Name,method,以及Action。我理解这个Action就是“结果网页”的网址的后半部分(不知对不对?)。
(在网页的表单里面Action是目标地址,就是处理这些递交内容的服务器端脚本。 如果Action为空的话,就是当前文件。)
三、网页关键字(录入、按钮、数据)解读
<% %>    ASP脚本片的开始<%%>标签之本代码在主页传递浏览器 会在服执行。
<HTML> </HTML>    <HTML>示网页的开头,</HTML>网页结束。
<BODY> </BODY>    网页上应该放些标示
<TABLE> </TABLE>    表格的结束
<TABLE Border = “1”>    表格边明确表的宽度
<TH> </TH>    放置表excel口内打 或者x于这些
<TR> </TR>    标示<TR>表格里新行。每行</TR>标示结
<TD> </TD>    使用这来明确元格。元格<TD>标示开</TD>束。表单元格可任何内括另一
我们需要重点关注的就是:<TABLE> </TABLE><TR> </TR>以及<TD> </TD>
文本框:<INPUT TYPE="text" NAME="Amount" VALUE="1" SIZE=10>,有的省略了TYPE,VALUE及SIZE,但应该是有关键字INPUT及NAME。
选择框:<SELECT NAME="From" SIZE=5 onChange="CheckMore()">
<OPTION VALUE="EUR" SELECTED>EUR Euro</OPTION>            ‘当前值
<OPTION VALUE="USD">USD United States Dollars</OPTION>
<OPTION VALUE="CAD">CAD Canada Dollars</OPTION>
</SELECT><BR>
单选钮:<INPUT type=radio CHECKED value=1 name=order>升序      ‘当前选择
<INPUT type=radio value=2 name=order>降序
多选钮:
<TD width=10><INPUT type=checkbox CHECKED value=96801 name=cp_id></TD>  ‘当前已选择
<TD>五菱牌LZW6400CV3客车(第F9批)</TD></TR>
<TR>
<TD width=10><INPUT type=checkbox value=96904 name=cp_id></TD>
<TD>中顺牌SZS6503E1轻型客车(第F9批)</TD></TR>
<TR>
按健:<INPUT language=javascript onclick="return onclick1()" type=submit value=查询 name=fetchevent>
四、POST、GET与NAME、VALUE
为了从取数据需要要在网络查向网络发送参那么需要在核实体网络服务使哪种方使POSTGET法。
打开源码,POST”,如果服务器数使用POST方法那么文本POS
T就应该现。如果网器使用GET法接收话,那么可在浏览栏里看数名称值。例如:
www.nycenet.edu/dist_sch/sch/searchresult/asp?boro=Manhattan &flag= schoolInfo2
(第参数前一个问数之间使&符号分来,参数的先后排列顺序不重要)
Name”,在单name之后可以看里有一 这些文第一个名称。value=面,是当前值
<INPUT TYPE="text" NAME="Amount" VALUE="1" SIZE=10><BR>
在上面HTML单词“Amount”是参数名称,“1该参数值。参可以HTML<option>中的 选项之如:
<SELECT NAME="From" SIZE=5 onChange="CheckMore()">
<OPTION VALUE="EUR" SELECTED>EUR Euro</OPTION>            ‘当前值
<OPTION VALUE="USD">USD United States Dollars</OPTION>
<OPTION VALUE="CAD">CAD Canada Dollars</OPTION>
<OPTION VALUE="GBP">GBP United Kingdom Pounds</OPTION>
<OPTION VALUE="DEM">DEM Germany Deutsche Marks</OPTION>
</SELECT><BR>
Post与Get的区别:
1、Get是用来从服务器上获得数据,而Post是用来向服务器上传递数据。
2、Get将表单中数据的按照variable=value的形式,添加到action所指向的URL后面,并且两者使用“?”连接,而各个变量之间使用“&”连接;Post是将表单中的数据放在form的数据体
中,按照变量和值相对应的方式,传递到action所指向URL。
3、Get是不安全的,因为在传输过程,数据被放在请求的URL中,而如今现有的很多服务器、代理服务器或者用户代理都会将请求URL记录到日志文件中,然后放在某个地方,这样就可能会有一些隐私的信息被第三方看到。另外,用户也可以在浏览器上直接看到提交的数据,一些系统内部消息将会一同显示在用户面前。Post的所有操作对用户来说都是不可见的。
4、Get传输的数据量小,这主要是因为受URL长度限制只能传递大约1024字节;而Post可以传输大量的数据,可以达到2M,所以在上传文件只能使用Post。
5、Get限制Form表单的数据集的值必须为ASCII字符;而Post支持整个ISO10646字符集。
6、Get是Form的默认方法。
五、使用WebBrowser
使用WebBrowser需要添加“Microsoft Web 浏览器”(VBA)或“Microsoft internet controls”(VB)。
1、WebBrowser的简要使用方法
‘打开前
Urlstr="www.17u/WeatherInfoIfm.aspx?CityName=%e5%ae%9c%e6%98%8c"
F_tqyb.WebBrowser1.Navigate Urlstr
F_tqyb.Show      这句话屏蔽时,WebBrowser同样打开网页,不过不显示在桌面上
Private Sub WebBrowser1_StatusTextChange(ByVal Text As String)
    If WebBrowser1.ReadyState <> READYSTATE_COMPLETE Then Exit Sub ‘页面调用是否完毕
    ……
End Sub
2、我们想要的网页内容:
一般说来,我们想要的网页内容,就在WebBrowser1.document.body.innerhtml和WebBrowser1.document.body.innertext中,通过替换、分析,得到我们想要的数据。
Innerhtml中的内容就是网页源码。
innertext中的内容则是网页上所显示的内容。(这个内容就是我们把网页另存为文本时的内容)
个人认为使用Innerhtml要方便一些。
当有了html的源码后,使用查、替换功能可以将所需要的数据剥离出来。另外还可以将源码写入到文本文件中,将文本文件的扩展名修改为htm,再利用Excel的“导入外部数据”-“导入数据”功能将数据读入Excel。(通过该方法,导入时选取特定的表格,可以查阅需要导入的表格号WebTables
3、在程序中使用WebBrowser显示网页
⑴、如果你所需要的网页网址中带有?,且取值规则非常清楚,则很方便,直接将参数及
值写到网址中就好,如上例所示(显示宜昌的天气),只需注意:参数前一个问数之间使&符号分来,参数的先后排列顺序不重要。
如果值中带有非英文和数字,则需进行转换。(套用Winland的程序)
例:City= Escape(“宜昌”)
Public Function Escape(ByVal strText As String) As String

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。