jakykuang 发表于 2014-3-21 16:31:14

网页信息查询

自动读取excel内的信息,然后将信息提交到网页,将查询到的指定内容保存回excel表内
有意请发站内信息

plutosherry 发表于 2014-3-21 16:55:13

思路1:
excel udf函数 _excelbookopen _excelreadarray等等。。。。
然后读网页中form或者input等元素
循环,分别将数值填入其中即可。
最后submit。。。。。

思路2:
直接将excel中的数值读出并利用post方式直接传网页服务器

两则比较:
思路1技术含量不高,但代码较为繁琐,且效率低
思路2要求有一定的网络知识和编程技巧,抓包识别post地址和源代码,然后重新编辑封包并直接post到服务器,效率很高

PS:思路2的方式类似于游戏外挂的模式。

nop 发表于 2014-3-21 23:44:55

用imacros可以搞定

shortchair 发表于 2014-3-24 23:46:07

1,创建一个按钮。
2,添加VB代码。
不懂的加QQ群54894887 找我【牛牛】
Function SplitCN(Target, attr, topnum)
    Dim StrHTML$, lStart&, lEnd&, dua$, Ign$
    URL = "http://www.xunsearch.com/scws/demo/v48.php"
    'sendstr = "mydata=" & Target & "&stats=yes&limit=" & topnum & "&xattr=" & attr
    'mydata,stats,limit,xattr,表单控件名
   
    sendstr = "mydata=" & Target & "&limit=" & topnum & "&xattr=" & attr
    With CreateObject("Msxml2.XMLHTTP")
      .Open "POST", URL, False
      .setRequestHeader "Content-Type", "application/x-www-form-urlencoded"
      .send sendstr
      StrHTML = .responseText
    End With
   
    'StrHTML 获取到的网页内容,然后处理
    lStart = InStrRev(StrHTML, "<textarea")
    lEnd = InStrRev(StrHTML, "</textarea>")
    StrHTML = Mid(StrHTML, lStart, lEnd - lStart - 2)
    StrHTML = Right(StrHTML, Len(StrHTML) - InStr(StrHTML, ">") - 1)
    SplitCN = Trim(StrHTML)

End Function



Private Sub CommandButton1_Click()
   
    Dim j
    Dim st As String
    For j = 7 To 14
      Sheet1.Cells(j, 5) = ""
    Next

    attr = "n,v,a,d,r,m,t,i,ad"
    st = Sheet1.Cells(7, 2) '这里是Sheet1表的7行B列
    topnum = 10
    st = Replace(st, "&", "")

    For j = 7 To 14
      st = Sheet1.Cells(j, 2)
      Sheet1.Cells(j, 5) = SplitCN(st, attr, topnum)
    Next


    MsgBox ("恭喜!已完成")
ExitHandler:
End Sub

diandiand163 发表于 2014-3-27 08:58:17

人家问的是AU3
页: [1]
查看完整版本: 网页信息查询