回 帖 发 新 帖 刷新版面

主题:关于vb读取文本内容的问题

今天写了一个读取域名旁注查询工具 实现是打开这个 http://www.114best.com/ip/114.aspx?w=
保存文本在本地 读取域名

但是读取内容的时候 有部分代码也读进去了 

我现在只想读取里面查询的域名

代码如下请高手帮我看看 小弟在此感激不尽啦!

Private Sub Command1_Click()
List1.Clear
Dim l, str1 As String
Dim m1, m2, m3, n1, n2, n3, yy, qq1, qq2, tt1, tt2, xs

Debug.Print DownloadFile("http://www.114best.com/ip/114.aspx?w=" + Text1.Text, "C:\1.txt")
Open "C:\1.txt" For Input As #1   '读取文件
Do Until EOF(1)
Line Input #1, l   '一行一行读取
str1 = str1 & vbCrLf & l  '写入到text1里面
Loop
Close #1

m1 = "<img"
m2 = "view"

Do
  n1 = InStr(str1, m1)
  n2 = InStr(str1, m2)
If n1 = 0 Then
  Exit Do
  End If
     n3 = n3 + 1

 yy = Mid(str1, n1 + Len(m1) + 74, n2 - n1 - Len(m1) - 81)
 List1.AddItem yy

回复列表 (共6个回复)

沙发

这样行不行:

m1 = "http"

Open "C:\1.txt" For Input As #1 '读取文件
Do Until EOF(1)
Line Input #1, str1 '一行一行读取
List1.AddItem Mid(str1, InStr(str1, m1))
Loop
Close #1

板凳


大哥你给的代码不行呀 提示

3 楼

在吗 ,你给我的代码还是不行 麻烦您再帮我看看好么

4 楼

问题其实很简单,只是你自己不够认真.
但如果要跟你认真,我就输了.


看了一下你的代码,打开一下网址,
是个查IP,并显示相近IP的网页,
也就大概猜了一下你的意图.

应该是拿个网址,然后获得其他网址,加入列表框.

现在的浏览器大都有查看源代码的功能,看了一下源代码,
你拿的关键词img和view,太简单了一点,自己可以去观察一下源代码,
再从新找一下其中的特点,当然,谁也不能保证网页永久不变,
所以,并不能确保有万能永久有效的关键词.


以下代码运行之后,发现网页好像会检测浏览器,获得的结果,
跟浏览器的结果并不一致.浏览器每一次刷新的结果也不太一样,
估计也就是个糊弄人的东西.

为了证明我不仅仅是枪手,以下代码请自行修改后再用.


Private Sub Command1Click()
T1 = "www.126.com"

Set http = CreateObject("MSXML2.XMLHTTP")
http.Open "GET", "http://www.114best.com/ip/114.aspx?w=" + T1, False
http.send
If http.readystate <> 4 Then Exit Sub
str1 = LCase(http.responsetext)
        
m1 = "<img style=" + Chr$(34) + "cursor:pointer" + Chr$(34) + " onclick=" + Chr$(34) + "window.open('"
l1 = Len(m1)
m2 = "');" + Chr$(34) + " pop='"
l2 = Len(m2)
n1 = InStr(str1, m1)

Do While n1
    n2 = InStr(n1, str1, m2)
    If n2 > 0 Then yy = Mid$(str1, n1 + l1, n2 - n1 - l1) Else Exit Do
    Debug.Print yy
    n1 = InStr(n2, str1, m1)
Loop
        
Debug.Print str1
End Sub

5 楼

非常感谢4楼的大哥 困扰我几天的问题终于解决了 虽然没有用你的代码 
但是你的回答给我了我很好的启发 万分感谢 现在已经解决了 

好人好报 ~ 祝你2012年发大财~~~~~~~~~~~~~~

6 楼

楼主记得结贴

我来回复

您尚未登录,请登录后再回复。点此登录或注册