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

[文本处理] 一键修改网页源码内容的批处理(JS+XML也成)

本帖最后由 447219071 于 2023-8-7 19:31 编辑

原来以为JS+xml可以完成打开网页即自动嵌入XML文档的内容实现只要换XML就自动换网页内容,测试了无数个也无法实现【如阁下是JS高手麻烦看一下我的JS+XML代码哪出问题了,我的实际测试地址http://chren.web3v.vip/st/new.html?k=1,后面参数K=1即解析1.XML数据库文档】,所以只想到了批处理,求大神指教,谢谢!
网页源码如以下:
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4.     <meta charset="UTF-8">
  5.     <meta http-equiv="X-UA-Compatible" content="IE=edge">
  6.     <meta name="viewport" content="width=device-width, initial-scale=1.0">
  7.     <title>个人介绍</title>
  8.     <link rel="stylesheet" href="css/style.css">
  9. </head>
  10. <body>
  11.     <div id="bigbox">
  12.         <div id="banner">
  13.             <img src="picture/banner.png" alt="">
  14.         </div>
  15.         <nav>
  16.             <a class="dangqian" href="">首页</a>
  17.             <a href="duanwen.html">短文</a>
  18.             <a href="rizhi.html">日志</a>
  19.             <a href="liuyan.html">留言板</a>
  20.         </nav>
  21.         <div id="main">
  22.             <div id="main_left">
  23.                 <h2>关于我</h2>
  24.                 <img src="picture/me.png" alt="">
  25.                 <p>
  26.                     <span>姓名</span>:*****<br>
  27.                     <span>性别</span>:男<br>
  28.                     <span>爱好</span>:听歌 踢足球 打游戏<br>
  29.                     <span>性格</span> :开朗<br>
  30.                     <span>家乡</span>:新疆乌恰县<br>
  31.                     <span>专业</span>:计算机网络技术
  32.                 </p>
  33.             </div>
  34.             <div id="main_right">
  35.                 <h2>热爱生活</h2>
  36.                 <p>
  37.                     一、岁月从来不曾静好,只是有人在替你背负枷锁,含泪前行。也许是父母,也许是朋友,也许是陌生人……无论是谁,请记得常怀感恩之心。
  38.                 </p>
  39.                 <p>
  40.                     二、这个世界并不完美,甚至有点残酷。你无法决定下一段旅途遇见的是好事还是坏事,可你能决定面对它们的态度。你看这个世界的角度,决定了这个世界给你的温度。
  41.                 </p>
  42.                 <p>
  43.                     三、总会有一件事让你瞬间长大,也总会有一个人让你泪如雨下。愿你早日领教这个世界的深深恶意,让自己活得开心得意。
  44.                 </p>
  45.                 <p>
  46.                     四、想要与众不同,却总随遇而安,想要做很多未做的事,却在现实棘手的吃喝拉撒前低下了头,我们间歇性热血满腔,长时间迷茫犯懒,别等了,再努力试试看!
  47.                 </p>
  48.                 <img src="picture/life.png" alt="">
  49.             </div>
  50.         </div>
  51.         <div id="luxing">
  52.             <h2>旅行生活</h2>
  53.             <div>
  54.                 <div id="picture">
  55.                     <img src="picture/11.png" alt="">
  56.                     <p>在日月潭</p>
  57.                 </div>
  58.                 <div id="picture">
  59.                     <img src="picture/22.png" alt="">
  60.                     <p>
  61.                         在毛里求斯
  62.                     </p>
  63.                 </div>
  64.                 <div id="picture">
  65.                     <img src="picture/33.png" alt="">
  66.                     <p>
  67.                         在马尔代夫
  68.                     </p>
  69.                 </div>
  70.                 <div id="picture">
  71.                     <img src="picture/44.png" alt="">
  72.                     <p>
  73.                         在玉龙雪山
  74.                     </p>
  75.                 </div>
  76.             </div>
  77.         </div>
  78.         <footer>
  79.             <p>
  80.                 版权所有©*****
  81.             </p>
  82.         </footer>
  83.     </div>
  84. </body>
  85. </html>
复制代码
另外附一个文本文件1.txt
  1. 改1内容:我的主页  //注:换成你的title内容
  2. 改2内容:img/1.jpg     //注:换成你的BANNER图片地址
  3. 改3内容:img/2.jpg     //注:换成你的人像图片地址
  4. 改4内容:王麻子     //注:换成你的名字
  5. 改5内容:男           //注:换成你的性别
  6. 改6内容:搞名堂     //注:换成你的爱好
  7. 改7内容:非常好     //注:换成你的性格
  8. 改8内容:郴州     //注:换成你的家乡
  9. 改9内容:火箭专科     //注:换成你的专业
  10. 改10内容:扯蛋1     //注:换成你的介绍
  11. 改11内容:扯蛋2     //注:换成你的介绍
  12. 改12内容:扯蛋2     //注:换成你的介绍
  13. 以此类推
  14. *******
复制代码
想求一批处理运行之后就按文本文件1.txt的内容更改了网页源码,当然后面的注释是不需要插入的
批处理一键运行后改的源码类似如下:
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4.     <meta charset="UTF-8">
  5.     <meta http-equiv="X-UA-Compatible" content="IE=edge">
  6.     <meta name="viewport" content="width=device-width, initial-scale=1.0">
  7.     <title>改1</title>
  8.     <link rel="stylesheet" href="css/style.css">
  9. </head>
  10. <body>
  11.     <div id="bigbox">
  12.         <div id="banner">
  13.             <img src="改2" alt="">
  14.         </div>
  15.         <nav>
  16.             <a class="dangqian" href="">首页</a>
  17.             <a href="duanwen.html">短文</a>
  18.             <a href="rizhi.html">日志</a>
  19.             <a href="liuyan.html">留言板</a>
  20.         </nav>
  21.         <div id="main">
  22.             <div id="main_left">
  23.                 <h2>关于我</h2>
  24.                 <img src="改3" alt="">
  25.                 <p>
  26.                     <span>姓名</span>:改4<br>
  27.                     <span>性别</span>:改5<br>
  28.                     <span>爱好</span>:改6<br>
  29.                     <span>性格</span> :改7<br>
  30.                     <span>家乡</span>:改8<br>
  31.                     <span>专业</span>:改9
  32.                 </p>
  33.             </div>
  34.             <div id="main_right">
  35.                 <h2>热爱生活</h2>
  36.                 <p>
  37.                    改10
  38.                 </p>
  39.                 <p>
  40.                 改11
  41.                 </p>
  42.                 <p>
  43.                 改12
  44.                 </p>
  45.                 <p>
  46.                 改13
  47.                 </p>
  48.                 <img src="改14" alt="">
  49.             </div>
  50.         </div>
  51.         <div id="luxing">
  52.             <h2>改15</h2>
  53.             <div>
  54.                 <div id="picture">
  55.                     <img src="改16" alt="">
  56.                     <p>改17</p>
  57.                 </div>
  58.                 <div id="picture">
  59.                     <img src="改18" alt="">
  60.                     <p>
  61.                         改19
  62.                     </p>
  63.                 </div>
  64.                 <div id="picture">
  65.                     <img src="改20" alt="">
  66.                     <p>
  67.                      改21
  68.                     </p>
  69.                 </div>
  70.                 <div id="picture">
  71.                     <img src="改22" alt="">
  72.                     <p>
  73.                      改23
  74.                     </p>
  75.                 </div>
  76.             </div>
  77.         </div>
  78.         <footer>
  79.             <p>
  80.                 版权所有©*****
  81.             </p>
  82.         </footer>
  83.     </div>
  84. </body>
  85. </html>
复制代码

py、js都有模板库,php、asp直接在html里写代码也行,刚刚搜了一下powershell也有模板库。。。

TOP

回复 2# wanghan519


    麻烦告知一下链接,我没搜到

TOP

回复 3# 447219071


    在powershell里安装Install-Module -Name PSTemplate,然后比如a.html是模板,需要把里面的"改1"变成"{{改1}}",然后执行
  1. Invoke-PSTemplate -Template (Get-Content ./a.html) -Variables @{"改1"="title"}
复制代码
输出的就是替换后的,至于Variables里是个字典,如果需要可以从xml里读取

TOP

啊?直接字符串替换不成?
你好

TOP

本帖最后由 wanghan519 于 2023-8-7 13:45 编辑

直接替换肯定是成的

只是用个模板库更简单,又可以在模板里写判断循环比较方便
比如这人有零个或两个或三个爱好,可以在模板里做判断或循环,多生成一行表格或直接不生成这一列或特殊的填充色,而生成模板的这句代码不用变,只需要传递的字典变化即可

后面又看到楼主这个香港空间,好像支持asp、php,那就直接写asp或php,甚至js直接请求xml也行,批处理在服务器上不方便

TOP

在面页打开时或后,然后执行对应的js修改行不?
例如
var mdContent={title="我的主页"};
document.title=mdContent["title"];
这样的

TOP

回复 7# Five66
当然可以,我看到只执行了前面一部分,而且遇到有些HTML代码里嵌入则无效果

TOP

回复 6# wanghan519


    只能执行部分内容,有些代入进去无反应

TOP

回复 9# 447219071


既然你的服务器支持asp,最简单的写法:
test.asp
  1. <%
  2. k = Request.QueryString("k")
  3. xmlFile = Server.MapPath(k & ".xml")
  4. Set xmlDoc = Server.CreateObject("Microsoft.XMLDOM")
  5. xmlDoc.load(xmlFile)
  6. title = xmlDoc.getElementsByTagName("title")(0).text
  7. %>
  8. <!DOCTYPE html>
  9. <html lang="en">
  10. <head>
  11.     <meta charset="UTF-8">
  12.     <title><%=title%></title>
  13. </head>
  14. <body>
  15.     <h1><%=title%></h1>
  16.     <p>This is a simple HTML5 page with the title from <%=k%>.xml.</p>
  17. </body>
  18. </html>
复制代码
1.xml
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <root>
  3.     <title>This is the title</title>
  4. </root>
复制代码
两个文件放到服务器上就可以访问test.asp?k=1

TOP

本帖最后由 Five66 于 2023-8-7 17:24 编辑

修改时应该根据页面来的,试试看下面行不

页面js
  1. <script>
  2. $(document).ready(function(){
  3. // 获取 URL 参数
  4. const urlParams = new URLSearchParams(window.location.search);
  5. // 获取查询参数
  6. const king = urlParams.get('k'); // 获取参数值
  7. // 发送 AJAX 请求
  8. $.ajax({
  9. type: "GET",
  10. url: king + '.xml', // 获取 XML 文件的地址
  11. dataType: "xml",
  12. success: function(xml) {// 解析 XML 数据
  13. const $xml = $(xml);
  14. $xml.find('item').each(function(){
  15. const a1 = $(this).find('a1').text();// 获取描述
  16. const a2 = $(this).find('a2').text();// 获取描述
  17. const a3 = $(this).find('a3').text();// 获取描述
  18. const a4 = $(this).find('a4').text();// 获取描述
  19. const a5 = $(this).find('a5').text();// 获取描述
  20. const a6 = $(this).find('a6').text();// 获取描述
  21. const a7 = $(this).find('a7').text();// 获取描述
  22. const a8 = $(this).find('a8').text();// 获取描述
  23. const a9 = $(this).find('a9').text();// 获取描述
  24. //const a10 = $(this).find('a10').text();// 获取描述
  25. //const a11 = $(this).find('a11').text();// 获取描述
  26. //const a12 = $(this).find('a12').text();// 获取描述
  27. document.title=a1;
  28. $("banner").html('');
  29. $("banner").append('<img src="'+a2+'" alt="">');
  30. $("main_left").html('');
  31. $("banner").append('<h2>关于我</h2><img src="'+a3+'" alt=""><p><span>姓名</span>:'+a4+'<br><span>性别</span>:'+a5+'<br><span>爱好</span>:'+a6+'<br><span>性格</span> :'+a7+'<br><span>家乡</span>:'+a8+'<br><span>专业</span>:'+a9+'</p>'
  32. });
  33. }
  34. });
  35. });
  36. });
  37. </script>
复制代码
xml内容
  1. <?xml version=\"1.0\" encoding=\"utf-8\"?>
  2. <root>
  3. <item>
  4. <a1>我的主页</a1>
  5. <a2>img/1.jpg</a2>
  6. <a3>内容:img/2.jpg</a3>
  7. <a4>内容:王麻子</a4>
  8. <a5>内容:男</a5>
  9. <a6>内容:搞名堂</a6>
  10. <a7>内容:非常好</a7>
  11. <a8>内容:郴州</a8>
  12. <a9>火箭专科</a9>
  13. <a10>扯蛋1</a10>
  14. <a11>扯蛋2</a11>
  15. <a12>扯蛋2</a12>
  16. </item>
  17. </root>
复制代码

TOP

回复 11# Five66


    不得行,源码文件太大上传不了,网址:http://chren.web3v.vip/st/yuanma.html?k=1  我自己调整后与你展示的样式http://chren.web3v.vip/st/che.html?k=1都不得行,我自己修改的http://chren.web3v.vip/st/new.html?k=1

TOP

本帖最后由 447219071 于 2023-8-9 14:09 编辑

回复 10# wanghan519


    ASP还不太熟悉,刚开始还似乎成功了,但网页从XML获取的资源显示中文的全是乱码,几经修改反而出500错误了,完全搞不定了,似乎ASP比HTML简约多了,求高手解决一下,谢谢

TOP

回复 12# 447219071
额,之前那页面js第37行忘了闭合括号了,而且其括号的闭合出错了
用append好像是不行的,用传统dom就行了

TOP

回复 14# Five66

修改后的页面js(页面需要有id为banner和main_left的标签,只要$(document).ready中的function在前端中成功运行就行了)
  1. <script>
  2. $(document).ready(function(){// 获取 URL 参数
  3. const urlParams = new URLSearchParams(window.location.search);
  4. // 获取查询参数
  5. const king = urlParams.get('k'); // 获取参数值
  6. // 发送 AJAX 请求
  7. $.ajax({
  8. type: "GET",
  9. url: king + '.xml', // 获取 XML 文件的地址
  10. dataType: "xml",
  11. success: function(xml) {// 解析 XML 数据
  12. const $xml = $(xml);
  13. $xml.find('item').each(function(){
  14. const a1 = $(this).find('a1').text();// 获取描述
  15. const a2 = $(this).find('a2').text();// 获取描述
  16. const a3 = $(this).find('a3').text();// 获取描述
  17. const a4 = $(this).find('a4').text();// 获取描述
  18. const a5 = $(this).find('a5').text();// 获取描述
  19. const a6 = $(this).find('a6').text();// 获取描述
  20. const a7 = $(this).find('a7').text();// 获取描述
  21. const a8 = $(this).find('a8').text();// 获取描述
  22. const a9 = $(this).find('a9').text();// 获取描述
  23. //const a10 = $(this).find('a10').text();// 获取描述
  24. //const a11 = $(this).find('a11').text();// 获取描述
  25. //const a12 = $(this).find('a12').text();// 获取描述
  26. document.title=a1;
  27. //$("banner").html('');
  28. //$("banner").append('<img src="'+a2+'" alt="">');
  29. document.getElementById('banner').innerHTML='<img src="'+a1+'" alt="">';
  30. //$("main_left").html('');
  31. //$("main_left").append('<h2>关于我</h2><img src="'+a3+'" alt=""><p><span>姓名</span>:'+a4+'<br><span>性别</span>:'+a5+'<br><span>爱好</span>:'+a6+'<br><span>性格</span> :'+a7+'<br><span>家乡</span>:'+a8+'<br><span>专业</span>:'+a9+'</p>');
  32. document.getElementById('main_left').innerHTML='<h2>关于我</h2><img src="'+a3+'" alt=""><p><span>姓名</span>:'+a4+'<br><span>性别</span>:'+a5+'<br><span>爱好</span>:'+a6+'<br><span>性格</span> :'+a7+'<br><span>家乡</span>:'+a8+'<br><span>专业</span>:'+a9+'</p>';
  33. });
  34. }
  35. });
  36. });
  37. </script>
复制代码

TOP

返回列表