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

[文本处理] [己解决]求BAT代码,网页内容复制到文本?

[复制链接]
发表于 2019-3-8 23:28:59 | 显示全部楼层 |阅读模式
这网站IE兼容性不好显示不全,用360浏览器打开就没问题。
批处理如何复制这个网页的全部内容到文本? 只要复制全部文字即可。

我是手动打开网页点全选、复制、粘贴,不知道有没有高人能用批处理做出来?
  1. @wget -O a.html http://www.bathome.net/thread-34437-1-1.html
  2. @HtoX32c /IP a.html
复制代码
这代码试过可以,但对我这个网页就不行。
发表于 2019-3-9 10:36:47 | 显示全部楼层
动态网页不能静态获取了,需要模拟浏览器,用IE.app COM对象即可,但是此站点对IE的兼容太差了,右边内容Transactions无法显示;所以下载的网页页不全; 要想全面,去用selenium+chromeDriver模拟浏览器
给个IE.App的vbs脚本:
用法:vbs脚本名 url 保存.html
  1. ' To fetch dynamic HTML document,and save to a file
  2. ' Usage: thisScript.vbs URL FilePathToSave
  3. Option Explicit
  4. Sub main()
  5.   On Error Resume Next
  6.   Dim objIE,objADO
  7.   If WSH.Arguments.Count <> 2 Then Exit Sub
  8.   Set objIE = WSH.CreateObject("InternetExplorer.Application", "evtIE_")
  9.   Set objADO = CreateObject("ADODB.Stream")
  10.   objIE.Visible = False
  11.   objIE.Navigate2 WSH.Arguments(0)
  12.   ShowError
  13.   Do While objIE.ReadyState <> 4
  14.     WSH.Sleep 10
  15.   Loop
  16.   With objADO
  17.     .Mode = 3
  18.     .Type = 2
  19.     .Charset = objIE.document.charset
  20.     .Open
  21.     .WriteText objIE.document.documentElement.outerHTML
  22.     .SetEOS
  23.     .SaveToFile WSH.Arguments(1), 2
  24.     .Close
  25.   End With
  26.   objIE.Quit
  27.   ShowError
  28.   Set objIE = Nothing
  29.   Set objADO = Nothing
  30. End Sub
  31. Sub ShowError()
  32.   If Err.Number <> 0 Then
  33.     WSH.Echo "Err # " & Err.Number & vbNewLine & _
  34.     "Description: " & Err.Description & vbnewline & _
  35.     "Source: " & Err.Source
  36.     Err.Clear
  37.   End If
  38. End Sub

  39. main
复制代码

评分

参与人数 1技术 +1 收起 理由
523066680 + 1 不明嚼栗

查看全部评分

发表于 2019-3-9 11:47:28 | 显示全部楼层
其实我也不知我说的啥...........
 楼主| 发表于 2019-3-9 22:53:22 | 显示全部楼层
谢谢楼上高手的回复,看来复制这个站点的问题还是比较难,也不知能不能搞定??谢谢大家!!
 楼主| 发表于 2019-3-10 18:16:35 | 显示全部楼层
本帖最后由 keshun 于 2019-4-8 09:59 编辑
  1. mshta http://bathome.net/s/hta/?echo=false download('https://www','1.html')
  2. HtoX32c /IP 1.html
复制代码
这代码调用在线脚本不能下载加载数据,不知有没高手帮帮忙,谢谢!!!!
 楼主| 发表于 2019-4-7 00:04:37 | 显示全部楼层

打开网页延时下载复制文字

本帖最后由 keshun 于 2019-4-8 09:59 编辑

网址:https://www
这网址IE打开显示不全,只能用360极速浏览器,网页动态数据要5-8秒才能加载完成。
360极速浏览器:
C:\Users\Administrator\AppData\Local\360Chrome\Chrome\Application\360chrome.exe

我现用VBS模拟键盘操作“全选”“复制”文字写入a.txt虽然能完成,每10分钟要激活当前窗口运行一次太影响电脑的其它操作,又会受到QQ微信的弹窗信息影响。
  1. mshta http://bathome.net/s/hta/?echo=false download('https://www','1.html')
  2. HtoX32c /IP 1.html
复制代码
这代码动态加载数据文字复制不了。
网页加载完成后手动另存为网页全部,在用HtoX32c转就包含了动态数据,说明代码在没加载完成时就下载而无加载数据文字。

请求代码,要求打开网页延时下载复制文字,网页后台运行或最小化窗口运行,VBS或BAT都行,谢谢!!
发表于 2019-4-7 00:38:07 | 显示全部楼层
你要的是哪些动态数据?没必要下载整个网页吧
 楼主| 发表于 2019-4-7 00:57:48 | 显示全部楼层
本帖最后由 keshun 于 2019-4-7 00:59 编辑

回复 2# zaqmlp


    整个网页数据文字复制下来,在经过文本处理就行了,条件越多越复杂,对效率要求不高。
发表于 2019-4-7 01:19:09 | 显示全部楼层
回复 3# keshun

你要哪些数据可以直接抓取,下载整个网页更麻烦
 楼主| 发表于 2019-4-7 01:31:12 | 显示全部楼层
回复 4# zaqmlp


    就单个网页显示的文字内容,我现用VBS模拟键盘就能做到,只是不理想。
发表于 2019-4-7 04:02:01 | 显示全部楼层
如果你需要别人帮你,你只需要说清楚你真正需要的是什么数据。比如截图把你想要的数据区圈出来。

评分

参与人数 1技术 +1 收起 理由
CrLf + 1 +1

查看全部评分

发表于 2019-4-7 11:54:34 | 显示全部楼层
动态加载的数据??
你打开页面然后按F12,选择network,最后查看哪个网址请求是你想要的, 单独拿出来请求就行, 用curl下载之
 楼主| 发表于 2019-4-7 12:15:16 | 显示全部楼层
本帖最后由 keshun 于 2019-4-8 09:59 编辑

回复 12# whiter


   
我想获取写入a.txt的文字内容如上图,买委与卖委各200组的3列动态数据,按F12,选择network显示的都是英文看不懂啊,谢谢!!
发表于 2019-4-7 12:31:16 | 显示全部楼层
那你用火狐浏览器,火狐的F12是中文的
 楼主| 发表于 2019-4-7 13:04:44 | 显示全部楼层
本帖最后由 keshun 于 2019-4-7 13:18 编辑

回复 14# whiter


    我试了下里面网址请求连接都不对,动态数据刷新速度很快会不会直接数据库读取的,这个网页本身就是纯数据无图片无视频,我本想复制显示文字不要求同步更新,这样会不会把问题复杂化了?谢谢!!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-19 03:57 , Processed in 0.032222 second(s), 9 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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