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

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

这网站IE兼容性不好显示不全,用360浏览器打开就没问题。
批处理如何复制这个网页的全部内容到文本? 只要复制全部文字即可。

我是手动打开网页点全选、复制、粘贴,不知道有没有高人能用批处理做出来?
  1. @wget -O a.html http://www.bathome.net/thread-34437-1-1.html
  2. @HtoX32c /IP a.html
复制代码
这代码试过可以,但对我这个网页就不行。

动态网页不能静态获取了,需要模拟浏览器,用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

评分人数

微信:flashercs
QQ:49908356

TOP

其实我也不知我说的啥...........
微信:flashercs
QQ:49908356

TOP

谢谢楼上高手的回复,看来复制这个站点的问题还是比较难,也不知能不能搞定??谢谢大家!!

TOP

本帖最后由 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
复制代码
这代码调用在线脚本不能下载加载数据,不知有没高手帮帮忙,谢谢!!!!

TOP

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

本帖最后由 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都行,谢谢!!

TOP

你要的是哪些动态数据?没必要下载整个网页吧
提供bat代写,为你省时省力省事,支付宝扫码头像支付
微信: unique2random

TOP

本帖最后由 keshun 于 2019-4-7 00:59 编辑

回复 2# zaqmlp


    整个网页数据文字复制下来,在经过文本处理就行了,条件越多越复杂,对效率要求不高。

TOP

回复 3# keshun

你要哪些数据可以直接抓取,下载整个网页更麻烦
提供bat代写,为你省时省力省事,支付宝扫码头像支付
微信: unique2random

TOP

回复 4# zaqmlp


    就单个网页显示的文字内容,我现用VBS模拟键盘就能做到,只是不理想。

TOP

如果你需要别人帮你,你只需要说清楚你真正需要的是什么数据。比如截图把你想要的数据区圈出来。
1

评分人数

去学去写去用才有进步。安装python3代码存为xx.py 双击运行或右键用IDLE打开按F5运行

TOP

动态加载的数据??
你打开页面然后按F12,选择network,最后查看哪个网址请求是你想要的, 单独拿出来请求就行, 用curl下载之

TOP

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

回复 12# whiter


    [attach]11910[/attach][attach]11910[/attach]
我想获取写入a.txt的文字内容如上图,买委与卖委各200组的3列动态数据,按F12,选择network显示的都是英文看不懂啊,谢谢!!

TOP

那你用火狐浏览器,火狐的F12是中文的

TOP

本帖最后由 keshun 于 2019-4-7 13:18 编辑

回复 14# whiter


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

TOP

返回列表