[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
老大 格式也不行哦 太长了 继续努力中
纯P的,目前搞定最后一部分,下一步处理拿到那三个信息
纯P的不可能有正则吧,除非依赖第三方。拿这个真的很蛋疼啊。
--------------------相当华丽的分割线------------------------------------
2013-01-14 日更新
先上图
[attach]6050[/attach]
--------------------相当华丽的分割线------------------------------------
利用Curl获取首页数据,然后剩下的就是纯P内部函数搞定。
个人觉得代码绝对有可以优化的地方,只可惜水平不高,还请高手指正。
PS:怎么版主老是没几句好话给我啊,哎。。。。。。
  1. @Echo Off&SetLocal EnableDelayedExpansion
  2. Mode Con Cols=130 Lines=20
  3. Title 批处理获取论坛首页指定数据 『冷玉公子』
  4. Set "Index=index.php"
  5. Set "Url=http://www.bathome.net/index.php"
  6. If Exist %Index% Del /f /q %Index%
  7. Echo 正在更新首页信息,请稍后。
  8. Curl -# -G -o %Index% %Url%
  9. For /F "tokens=*" %%A In (index.php) Do (
  10. Set tStr="%%A"
  11. IF !e1Switch! == True Set e1Switch=False&Call :_TitleResovle !tStr! 最新主题&Pause>Nul
  12. IF !e2Switch! == True Set e2Switch=False&Call :_TitleResovle !tStr! 最新回复&Pause>Nul
  13. IF !e3Switch! == True Set e3Switch=False&Call :_TitleResovle !tStr! 热门主题&Pause>Nul
  14. Set e1Str=!tStr:homegrids_c_1=DandyMu!
  15. Set e2Str=!tStr:homegrids_c_2=DandyMu!
  16. Set e3Str=!tStr:homegrids_c_3=DandyMu!
  17. IF Not !e1Str! == !tStr! Set e1Switch=True
  18. IF Not !e2Str! == !tStr! Set e2Switch=True
  19. IF Not !e3Str! == !tStr! Set e3Switch=True
  20. )
  21. Goto :Eof
  22. :_TitleResovle
  23. Set trStr=%1
  24. For /F "usebackq tokens=*" %%A In ('%trStr%') Do (
  25. @Rem Echo %%A
  26. Call :_LiResolve %%A %2
  27. )
  28. Goto :Eof
  29. ::Rem %1带处理的Li标签内容 %2标题
  30. :_LiResolve
  31. Cls
  32. Echo [%2]
  33. Echo=
  34. Echo ---------------------------------------------------------------------------------------------------------------------------------
  35. Set Str=%1
  36. For /F "usebackq tokens=*" %%A In ('%Str%') Do (
  37. Set Html="%%A"&Set Code=!Html:^</li^>=^</li^>;!
  38. For /F "tokens=1-8 delims=;" %%1 In ("!Code!") Do (
  39. Call :_EchoInfo "%%1"&Call :_EchoInfo "%%2"&Call :_EchoInfo "%%3"&Call :_EchoInfo "%%4"
  40. Call :_EchoInfo "%%5"&Call :_EchoInfo "%%6"&Call :_EchoInfo "%%7"&Call :_EchoInfo "%%8"
  41. )
  42. )
  43. Goto :Eof
  44. :_EchoInfo
  45. For /F "usebackq tokens=1-20 delims=><=" %%A In ('%1') Do (
  46. For /F "tokens=1 delims='" %%1 In ("%%K") Do Set "HTURL=http://www.bathome.net/%%1"
  47. Set "HTID=%%G"&Set "HTTITLE=%%M"
  48. IF "!HTTITLE:~1,5!" == "color" Set "HTTITLE=%%N"
  49. Echo 主题:!HTTITLE! 发帖ID:!HTID! URL:!HTURL!
  50. Echo ---------------------------------------------------------------------------------------------------------------------------------
  51. )
  52. Goto :Eof
复制代码
1

评分人数

    • batman: 很不错,就是call来call去会很是影响效率, ...PB + 20

TOP

回复 7# batman


    老大,4楼那哥们的是有问题的吧。
    还有啊,老大给个批处理用正则的例子吧,难道要用 Sed 或者 Awk?

TOP

返回列表