[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
验证码咋办???????

TOP

列表中有发表时间,取最新的一个保存下来大概就可以了
增加一个逻辑功能,每天脚本开始时先检测时间最新的文章有没留言,留了就取这个时间当标准,没留就抢了沙发现拿这时间当标准
这方面我不熟,那么兄台写了贴上来我也学习下

TOP

新链接有直接提取的方法吗,要是对比,还得在本地缓存,还不如拿时间来检查

TOP

  1. Set XmlHttp=CreateObject("MSxml2.XMLHTTP")
  2. XmlHttp.Open "GET","http://blog.sina.com.cn/rss/shuchang.xml",false
  3. XmlHttp.Send
  4. msgbox XmlHttp.ResponseXML.xml
复制代码
利用DOM什么的分解出这个xml文档就可以了
1

评分人数

TOP

嘿嘿,那怎么办????

TOP

那个验证码,用ie.app来获取的话,好像不会变

TOP

window.scroll x,y这个我不知道怎么转化到vbs文件中来执行,网页中加载脚本可以直接使用window对象,但在脚本中不行
1

评分人数

    • rat: Thanks for your reply. Now I see.PB + 8

TOP

具体你怎么实现可要贴代码上来

TOP

我觉得要弄这个,最好是用dhtml,用框架,上边显示操作,下边显示引用网页,这样所有的对象都是在一个window的子window中,处理起来也蛮方便,设想,没去试

TOP

刚刚创建的blog,通过对rat脚本的学习,终于搞懂了如何获取特定标签内容
参考内容:
http://www.w3school.com.cn/x.asp
http://blog.csdn.net/wf520pb/archive/2008/07/12/2644549.aspx
  1. Const RSSPath="http://blog.sina.com.cn/rss/everest79.xml"
  2. Dim Xml
  3. Set Xml=CreateObject("Msxml2.XMLHTTP")
  4. Xml.Open "Get",RSSPath,Fasle
  5. Xml.Send
  6. 'SelectSingleNode只返回符合路径的第一个结果
  7. msgbox Xml.ResponseXML.SelectSingleNode("/rss/channel/item/link").Text
  8. 'getElementsByTagName返会所有包含"title"节点的集合,需要枚举
  9. For Each x In Xml.ResponseXML.getElementsByTagName("title")
  10. Msgbox x.Text
  11. Next
  12. 'SelectNodes类似于getElemnetByTagName,但可以指定路径
  13. For Each x In Xml.ResponseXML.SelectNodes("/rss/channel/item/link")
  14. Msgbox x.Text
  15. Next
复制代码
1

评分人数

    • rat: [quote]/rss/channel/item/link[/quote]很好PB + 10

TOP

学习作品,发现新浪的验证码是根据进程变化的,所以就先填验证码,要是发现有新贴就自动发贴了,没用记录文件,写注册表里了,循环还不完善
  1. Const REGPath="HKCU\Software\ScriptAuto\Temp\"
  2. Const RSSPath="http://blog.sina.com.cn/rss/everest79.xml"
  3. Const Checkwd="http://vlogin.blog.sina.com.cn/myblog/checkwd_image.php"
  4. Const iInterval=30
  5. Dim Wsh,Xml,oIe,CheckID,oLink
  6. Set Wsh=CreateObject("WScript.Shell")
  7. Set Xml=CreateObject("Msxml2.XMLHTTP")
  8. Do While True
  9. Set oIe=CreateObject("InternetExplorer.Application")
  10. CheckIN
  11. oLink=sRunLog
  12. CheckLinks
  13. PostLink GetXmlLink
  14. WScript.Sleep 10000
  15. oIe.Quit
  16. Set oIe=Nothing
  17. WScript.Sleep 10000
  18. Loop
  19. Sub CheckIN
  20. oIe.Navigate Checkwd
  21. oIe.Visible=1
  22. CheckID=Inputbox("请输入验证码!","BatHome 2008") '验证码是针对进程变化的,相同进程验证码相同,几小
  23. oIe.Visible=0
  24. End Sub
  25. Function sRunLog
  26. On Error Resume Next
  27. Do
  28. If Err.Number <> 0 Then
  29. Wsh.RegWrite REGPath,GetXmlLink
  30. Err.Clear
  31. End If
  32. sRunLog=Wsh.RegRead(REGPath)
  33. Loop While Err.Number <> 0
  34. End Function
  35. Sub CheckLinks
  36. Do While StrComp(oLink,GetXmlLink,1) = 0
  37. WScript.Sleep iInterval*1000
  38. Loop
  39. End Sub
  40. Sub PostLink(nLink)
  41. With oIe
  42. .Navigate nLink
  43. Do While .Busy Or .ReadyState <> 4
  44. WScript.Sleep 500
  45. Loop
  46. .Document.All("anonymity_name").Value="性浪"
  47. .Document.All("commentArea").Value="好大的一根毛呀"
  48. .Document.All("anonymity").Checked=True
  49. .Document.All("login_check").Value=CheckID
  50. '.Document.All("modifyTitle").Href="#post"
  51. 'WScript.Sleep 1000
  52. '.Document.All("modifyTitle").Click
  53. .Document.All("comment_post_btn").Click
  54. End With
  55. Wsh.RegWrite REGPath,nLink
  56. End Sub
  57. Function GetXmlLink
  58. Xml.Open "Get",RSSPath,Fasle
  59. Xml.Send
  60. GetXmlLink=Xml.ResponseXML.SelectSingleNode("/rss/channel/item/link").Text
  61. End Function
复制代码
1

评分人数

    • rat: 很好很强大PB + 20 技术 + 1

TOP

出现下载图片是IE的问题,有些IE扩展组件没有激活,好像是什么补丁,不过可以通过打开空白页,然后写入<IMG SRC=Checkwd>这样来显示图片

这个验证码在同一进程下不会变化,最长是多长时间还不清楚,例如你PID为228的进程创建了显示图片的网页,那在PID228下的所有IE线程请求这个页面得到的验证码都是一样的,刷新只是字体变化

TOP

  1. Do
  2. Audio=.Document.parentWindow.ExecScript("callAudioCheck();","javascript")
  3. CheckID=Inputbox("请输入验证码!","BatHome 2008")
  4. Loop Whlie CheckID = ""
复制代码
这个方法可行,嘿嘿,一定不会错
1

评分人数

    • rat: 创意无限,精彩无限PB + 8

TOP

返回列表