如何用 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) |
新聞熱點
疑難解答