如何用 Access 分析一个网站,或者在网站上提交一个查询,得到结果后存储进数据库哪?
如何用 Access 下载 DVBBS 论坛上所有的帖子?
如何用 ACCESS 编写灌水程序?
方法一:
答案非常简单—— DHTML 编程。
有人可能问了,ACCESS 使用的是 VBA ,而 DHTML 中使用的是 VBS 怎么可能通用哪?其实 VBS / VBA 都是 VB 的子集。在 Access 中只要引用
Microsoft Internet Controls
Microsoft HTML Object Library
即可,然后在窗体上加入 “Microsoft Web 浏览器”控件
好了,下面就以我写的一个读取某 IP 物理地域查询网站页面的数据库为例说明 DHTML / “Microsoft Web 浏览器”控件在 ACCESS 的应用吧。
“Microsoft Web 浏览器”控件的作用是什么哪?主要就是为了获得 DOCUMENT 对象的,DHTML 的操作都是以 DOCUMENT 对象为运行基础的。
要完成读取网页的功能我们必须了解 DHTML 的几个简单的对象以及属性
1、DOCUMENT 对象:代表这整个 HTML 文档
2、BODY 对象:是 DOCUMENT 对象的子对象,里面存储着所有显示给用户看的 HTML 代码
3、innerText 属性:页面中显示给客户看的文本,注意:不是 HTML 代码呦
4、innerHTML属性:构成页面的 HTML 代码
5、对象.all.length属性:页面中所有 element 的个数。(all 用于表示所有对象)
ok ,接下来就让我们一边写代码,一边分析吧:
以下为引用的内容: Option Compare Database Private Sub Command11_Click() '将需要搜索的IP 写入全局变量 Dim i As Long End Function Sub WriteLog(ip1 As String) '读取结果 Set Bd = dc.body Dim strNewIP As String |
'利用 DHTML 的 innerHTML 来更改网页的源代码,建立一个简单的 FORM ,然后提交给服务器,继续查询下面的 IP
以下为引用的内容: Bd.innerHTML = "<form method='POST' action='index.php?job=search' target='_parent'><input type='text' name='search_ip' ><input type='submit' value='查询' name='B1'></form>" '在 INPUT TEXT search_ip 中填入 IP。 dc.all.Item("search_ip").Value = strNewIP '用 DHTML 提交 FORM 到服务器 dc.all.Item("b1").Click End Sub Private Sub Form_Open(Cancel As Integer) End Sub Private Sub WebBrowser3_DownloadComplete() |
'该事件在页面成功下载到本地时运行,这时候 DOCUMENT 对象
'已经完全被客户端浏览器读取了,我们只要获取 Body 对象中的 innerHTML 即可
以下为引用的内容: If Len(strNowIP) = 0 Then Function refreshIP() As String '搜索完一个IP以后再搜索下面一个 |
以下代码请新建一个模块后 COPY 进去
以下为引用的内容: Option Compare Database strSql = "select * from ipaddress order by enip"
|
'用代理无法连接的问题还要解决
'将字符的 IP 编码为长整的 IP
以下为引用的内容: On Error Resume Next Function deaddr(Sip) |
'将编码为长整的 IP 重现转换为字符型的 IP
以下为引用的内容: Dim s1, s21, s2, s31, s3, s4
|
示例请参考:http://access911.net/down/eg/User_DHTML_search_IP.rar
上述程序会自动去 http://ip.loveroot.com/index.php?job=search 搜索所有的 IP 以及对应的物理地址并保存到数据库中
修订:刚才上了一下网站,发现界面竟然改了,又重新修改了一下读取页面的程序。
关于 WebBrowser 控件的资料请参考 VB6 中 MSDN 的以下章节
以下为引用的内容: Internet Client SDK inet401/help/itt/ieprog/IEProg.htm#book_browsing(BOOKMARK) |
新闻热点
疑难解答