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

[网络连接] 【已解决】请问批处理如何提取下载好的网页源码中特定内容?

本帖最后由 xyqylong 于 2021-12-8 15:24 编辑

下载好的网页源码如下格式
imageView2\u002F2\u002Fw\u002F1080\u002Fformat\u002Fjpg","width":1000,"height":1000,"fileId":"bbfc2021-9f86-5999-e853-f2a823184519","traceId":"b892879b-fb4a-3bee-bfe1-79252e137acd"},{"url":"\u002F\u002Fci.xiaohongshu.com\u002F7d4e86fc-09b4-801b-d03a-097a174b120f?imageView2\u002F2\u002Fw\u002F1080\u002Fformat\u002Fjpg","width":1000,"height":1000,"fileId":"7d4e86fc-09b4-801b-d03a-097a174b120f","traceId":"8e295f78-f40d-3f93-9616-d23f8a113f47"}],"cover":{"url":"\u002F\u002Fci.xiaohongshu.com\u002F617e2e1a-f617-c3d1-5e21-49648c5aca42

其中会包含一个或多个 traceId 我需要提取traceId后的值

需要提取  traceId":"b892879b-fb4a-3bee-bfe1-79252e137acd"}  这段内容中 b892879b-fb4a-3bee-bfe1-79252e137acd 部分

TOP

源码中包含一个或多个traceId 这是指向图片的真实地址,如果多图的话就需要全部提取出来

TOP

回复 1# xyqylong


    请把下载后的网页文件上传到阿里云盘或百度网盘,以便测试代码。或者给出真实的网址,我自己下载网页也行。
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复 4# Batcher

链接:https://www.aliyundrive.com/s/uCh9XtgJWzY

上传了一个阿里云盘连接

TOP

  1. #&cls&@powershell -c "Get-Content '%~0' | Select-Object -Skip 1 | Out-String | Invoke-Expression" & pause&exit
  2. $file='.\XHS.txt'
  3. [regex]::Matches((gc -LiteralPath $file -Encoding UTF8),'"traceId":"(.*?)"}')|%{($_.Value) -replace '"traceId":"(.*)"}','$1'}>'traceid.txt'
复制代码
QQ 33892006

TOP

  1. <#*,:&cls
  2. @echo off
  3. pushd "%~dp0"
  4. powershell -NoProfile -ExecutionPolicy RemoteSigned -Command ". ([ScriptBlock]::Create((Get-Content -LiteralPath \"%~0\" -ReadCount 0 | Out-String ))) "
  5. popd
  6. pause
  7. exit /b
  8. #>
  9. $htmlfile = "解析json1.txt"
  10. $re = [regex]"(?<traceId>(?<traceId_1>`"traceId`"\s*:\s*)(?<traceId_2>`".*?`"(?<!\\`")|null))"
  11. $txt = [System.IO.File]::ReadAllText($htmlfile)
  12. $re.Matches($txt) | ForEach-Object { $_.Groups['traceId_2'].Value.Trim('"') }
复制代码
微信:flashercs
QQ:49908356

TOP

回复 6# yhcfsr


    非常感谢,完美的实现了我的需求

TOP

返回列表