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

[问题求助] PowerShell如何用irm获取某个网页中的指定的下载链接?

[复制链接]
发表于 2024-8-10 17:51:09 | 显示全部楼层 |阅读模式
https://www.nuget.org/packages/python
我想用irm命令获取上面网页链接中的 "Download package" 文本的链接地址, 如下图所示, 或者还有更好的办法吗? 提前感谢
http://www.picgo.net/image/A.kIeRWp
 楼主| 发表于 2024-8-10 18:37:42 | 显示全部楼层
下面代码可以获取, 但是速度太慢了
  1. # 设置目标URL
  2. $url = "https://www.nuget.org/packages/python"

  3. # 下载网页内容
  4. $html = Invoke-WebRequest -Uri $url

  5. # 查找包含 "Download package" 文本的链接
  6. $downloadLink = $html.Links | Where-Object { $_.innerText -eq "Download package" }

  7. # 输出 href 属性
  8. $downloadLink.href
复制代码
发表于 2024-8-10 19:03:56 | 显示全部楼层
本帖最后由 aloha20200628 于 2024-8-10 19:29 编辑

回复 1# meixi

假设已被下载的指定网页文件为 1.xml,用如下的批处代码可获取网页文件中包含关键词 ‘Download package’ 的a标签链址

  1. @echo off &(for /f tokens^=2^delims^=^" %%a in ('findstr /ic:">Download package<" 1.xml') do echo,%%a
  2. pause&exit/b
复制代码
不用下载 wget 等第三方专业下载工具即可直接下载网页的方法,已经试过 certutil.exe 和 powershell,其中 invoke-webrequest 最慢,(new-object System.Net.WebClient).DownloadFile 稍快...

  1. @echo off &certutil -urlcache -split -f "https://www.nuget.org/packages/python" "1.xml">nul 2>nul
  2. for /f tokens^=2^delims^=^" %%a in ('findstr /ic:">Download package<" 1.xml') do echo,%%a
  3. pause&exit/b
复制代码

  1. @echo off &powershell -c "(new-object System.Net.WebClient).DownloadFile('https://www.nuget.org/packages/python', '1.xml')"
  2. for /f tokens^=2^delims^=^" %%a in ('findstr /ic:">Download package<" 1.xml') do echo,%%a
  3. pause&exit/b
复制代码
</size>
 楼主| 发表于 2024-8-10 19:33:10 | 显示全部楼层
回复 3# aloha20200628


    感谢支招, 不想用cmd, 想用powershell或c#函数
发表于 2024-8-10 21:00:02 | 显示全部楼层
本帖最后由 aloha20200628 于 2024-8-10 21:02 编辑

回复 4# meixi

以下代码要比2楼代码快一些...
  1. (new-object System.Net.WebClient).DownloadFile('https://www.nuget.org/packages/python','1.xml')
  2. (((gc 1.xml)|sls '>Download package<') -split '"')[1]
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-17 05:09 , Processed in 0.021125 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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