找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 29123|回复: 4

[网络连接] 批处理如何实现采集/提取网站/网页上的指定链接/网址?

[复制链接]
发表于 2016-5-2 11:00:28 | 显示全部楼层 |阅读模式
本帖最后由 pcl_test 于 2016-11-13 20:27 编辑

例如,我想利用批处理bat或vbs批量获取http://www.55188.com/forum-111-1.html这个网页里的全部帖子的链接网址和标题并输出到文本里(每个链接需是完整的网址包含http://),请问能不能实现呢?希望老师帮助。
下面该咋写呢?希望老师帮我下好吗?

评分

参与人数 1PB -30 收起 理由
pcl_test -30 未按版规发帖

查看全部评分

发表于 2016-5-2 16:11:09 | 显示全部楼层
混了十年论坛,不要一贴多发都不知道。
发表于 2016-5-2 18:18:22 | 显示全部楼层
  1. """
  2. python采集55188.com论坛URL.py
  3. http://bbs.bathome.net/thread-40289-1-1.html

  4. 2016年5月2日 17:28:47 codegay

  5. 参考资料: Python3学习笔记(urllib模块的使用)
  6. http://www.cnblogs.com/Lands-ljk/p/5447127.html
  7. """

  8. print("程序运行中...")
  9. from urllib import request
  10. from time import sleep
  11. import re

  12. rooturl="http://www.55188.com/"
  13. forumurl="http://www.55188.com/forum-111-{}.html"
  14. tidurl="http://www.55188.com/viewthread.php?tid={}\n"

  15. with open("result.txt","w+") as f:
  16.     for r in range(1,210):
  17.         r=request.urlopen(forumurl.format(r))
  18.         txt=r.read().decode("gbk")
  19.         rec=re.compile('''viewthread.php\?tid=(\d+).+#anchorlink''')
  20.         tid=set(rec.findall(txt))#去重复
  21.         for id in tid:
  22.             f.write(tidurl.format(id))
  23.         #sleep(1)
  24.             
  25. input("运行结束,回车退出")
复制代码
发表于 2016-5-2 19:08:44 | 显示全部楼层
本帖最后由 pcl_test 于 2016-11-13 20:32 编辑

举个栗子
  1. //&cls&mshta "%~f0">"结果.txt"&pause&exit

  2. <script src=http://www.bathome.net/lib/diy/Function.js></script>
  3. <script>
  4. var fso = new ActiveXObject('Scripting.Filesystemobject');
  5. var StdOut = fso.GetStandardStream(1);
  6. var url = 'http://www.55188.com/';
  7. //1到10页
  8. for(var i=1;i<=10;i++){
  9.     var txt = '', u = url+ 'forum-111-'+ i +'.html';
  10.     var links = web(u).match(/<span\sid="thread_\d+"[^>]+?>[\s\S]+?<\/span>/g);
  11.     for(var j=0;j<links.length;j++){
  12.         var link = links[j].match(/<a href="([^"]+)/)[1];
  13.         var title = links[j].replace(/<[^>]*>/g, '');
  14.         txt +=url + link + ' '+ title +'\r\n';
  15.     }
  16.     StdOut.Write('page '+i+'\r\n'+txt+'\r\n');
  17. }
  18. close();
  19. </script>
复制代码
发表于 2016-5-2 19:45:53 | 显示全部楼层
这SB提问完老是把原贴编辑掉。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-20 15:41 , Processed in 0.012097 second(s), 9 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表