Scripts 学盟

标题: 怎样抓取需要登录的页面内容 [打印本页]

作者: 混混@普宁.中国    时间: 2011-8-30 23:00:05     标题: 怎样抓取需要登录的页面内容

就是 XMLHTTP 去抓就行了。
  1. Dim x
  2. Set x = CreateObject("WinHTTP.WinHttpRequest.5.1")
  3. x.Option(6) = 0

  4. ' 先 POST 账户信息到登录验证页面
  5. x.Open "POST", "http://www.iscripts.org/login/", False
  6. x.SetRequestHeader "Content-Type", "application/x-www-form-urlencoded; charset=UTF-8"
  7. x.Send "username=%E6%B7%B7%E6%B7%B7@%E6%99%AE%E5%AE%81.%E4%B8%AD%E5%9B%BD&password=abcdefg"



  8. ' 在 x 不变的情况下,再去抓取就行了
  9. x.Open "GET", "http://www.iscripts.org/main/", False
  10. x.Send Null

  11. WScript.Echo x.ResponseText
复制代码

作者: 混混@普宁.中国    时间: 2011-8-30 23:27:08

  1. Dim x, i, m, ms, cookies
  2. Set x = CreateObject("WinHTTP.WinHttpRequest.5.1")
  3. x.Option(6) = 0

  4. ' 先 POST 账户信息到登录验证页面
  5. x.Open "GET", "http://www.iscripts.org/forum.php", False
  6. x.SetRequestHeader "Content-Type", "application/x-www-form-urlencoded; charset=UTF-8"
  7. x.Send "username=%E6%B7%B7%E6%B7%B7@%E6%99%AE%E5%AE%81.%E4%B8%AD%E5%9B%BD&password=abcdefg"

  8. ' 保存 cookie
  9. With New RegExp
  10.         .Pattern = "Set-Cookie:\s*([^;]+)"
  11.         .Global  = True
  12.         .IgnoreCase = True
  13.         Set ms = .Execute(x.GetAllResponseHeaders())
  14.         ReDim cookies(ms.Count - 1)
  15.         For i = 0 To UBound(cookies)
  16.                 cookies(i) = ms.Item(i).SubMatches(0)
  17.         Next
  18. End With
  19. cookies = Join(cookies, "; ")



  20. ' 如果保存了 cookie, 那么在服务器 Session 记录未失效之前
  21. ' 把 cookie 提交,也能保持原来的会话
  22. Set x = CreateObject("WinHTTP.WinHttpRequest.5.1")
  23. x.Open "GET", "http://www.iscripts.org/main/", False
  24. x.SetRequestHeader "Cookie", cookies
  25. x.Send Null


  26. WScript.Echo x.ResponseText
复制代码

作者: 依依    时间: 2011-9-8 11:46:07

看到了就有点感觉 但是现在让我去研究这些东西 需要非常静
作者: 那个谁    时间: 2012-9-21 10:05:17

很好!这样我就能写抓取程序了!
作者: 混混@普宁.中国    时间: 2012-9-21 21:25:34

那个谁 发表于 2012-9-21 10:05
很好!这样我就能写抓取程序了!

你去偷谁的内容了
作者: 那个谁    时间: 2012-9-22 08:38:48

混混@普宁.中国 发表于 2012-9-21 21:25
你去偷谁的内容了

给个例子啊,你昨天说的那个没弄出来。
作者: 混混@普宁.中国    时间: 2012-9-28 23:53:45

那个谁 发表于 2012-9-22 08:38
给个例子啊,你昨天说的那个没弄出来。

上面就是例子呀,只不过是 VBS 的




欢迎光临 Scripts 学盟 (http://www.iscripts.org/) Powered by Discuz! X2