[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
这个有点感兴趣。写一个PS的
  1. # 配置
  2. $title = 'class="title|fl print';
  3. $Web = New-Object System.Net.Webclient;
  4. $Web.Encoding = [Text.Encoding]::UTF8;
  5. $url = 'http://www.court.gov.cn/paper/default/index.html';
  6. $Master = 'http://www.court.gov.cn'
  7. $http = (split-path $url).Replace('\','/');
  8. $save = '.\案件记录.log';
  9. NI $save -type file -force | Out-Null;
  10. #
  11. Function ANJian_ZenLi {
  12. Param ( [string]$url )
  13. [Collections.Arraylist] $arr = @();
  14. [Collections.Arraylist] $array = @();
  15. $Content = $null;
  16. $Page = $Web.DownloadString( $url ) -Split "`n";
  17. $Content = ( $Page | SLS -Pattern $title) -Split "`r`n";
  18. $array = $Content | %{ $_.Split('"')[-1] -Replace '(</?(li|div))?>','' };
  19. $array.Add('') | Out-Null;
  20. $Content = $Page |SLS -Pattern '</div><div style';
  21. $Content = $Content -Replace ";'>","`r`n@" -Replace '</div>',"`r`n";
  22. $arr = (($Content -Split "`r`n" | sls -Pattern '^@') -NotMatch '^@<') -Replace '@','';
  23. $arr = $arr -notmatch '^$'; if ( $arr ) { $arr.Add('') | Out-Null };
  24. $array = $array + $arr;
  25. $Content = (( $Page | SLS -Pattern '^\s+.*</div>$') -NotMatch '<div') -Split "`r`n";
  26. $arr = $Content | %{ ($_ -Replace '^\s+|</div>|&nbsp;','').Trim() };
  27. $arr = $arr -notmatch '^$'; if ( $arr ) { $arr.Add('') | Out-Null };
  28. $array = $array + $arr;
  29. $Content = ( $Page | SLS -Pattern '<(div|p) style.*</(div|p)>$') -Split "`r`n";
  30. $arr = $Content | %{ $_.Split('"')[-1] -Replace '(</(p|div))?>|&nbsp;','' };
  31. $arr = $arr -notmatch '^$'; if ( $arr ) { $arr.Add('') | Out-Null };
  32. $array = $array + $arr;
  33. $array.Add('*************************完成*************************') | Out-Null;
  34. Return $array;
  35. };
  36. $Page = $Web.DownloadString( $url ) -Split "`n";
  37. $Last = (( $Page | SLS -Pattern '尾页' ) -Split "`r`n" ).Split('"')[-2];
  38. [int]$Last = $Last.Split('/.')[-2];
  39. [Collections.Arraylist] $PageArray = @($url);
  40. (2..$Last) | %{ $PageArray += $http + '/index/page/' + "$_.html" };
  41. For ( $i =0; $i -lt $PageArray.Count; $i++ ) {
  42. $DictXianQing = @{};
  43. if ( $i -ge 1 ) { $Page = $Web.DownloadString( $PageArray[$i] ) -Split "`n"; };
  44. $Content = ($Page | SLS -Pattern 'xiangqing') -Split "`r`n";
  45. $Content | %{
  46. $link = $Master + $_.Split('"')[-2];
  47. $str = $_.Split('"')[-1] -Replace '(</(a|li))?>','';
  48. $DictXianQing += @{ "$link" = "$str" };
  49. };
  50. Foreach ( $k in $DictXianQing.Keys.GetEnumerator() | Sort {[int]($_.Split('-.')[-2])} ) {
  51. $Receive = ANJian_ZenLi $k;
  52. $Receive |ac $save -force;
  53. ''|ac $save -force; ''|ac $save -force;
  54. };
  55. '按任意键处理下一页,删除此句会整理所有页面。';pause;
  56. };
  57. '已全部完成 按任意键退出。';pause
复制代码

TOP

无聊 来个娱乐版的。在线式的。不下载到硬盘。内存存取。可以返回。不特别优化,纯属添加功能。跟WIN10学的。这些东西不想下载到硬盘。
:按两次<Enter>显示选定项的内容;按<Enter>+<BackSpace>返回上一层。不带窗口按纽的。
  1. # 配置
  2. $title = 'class="title|fl print';
  3. $Web = New-Object System.Net.Webclient;
  4. $Web.Encoding = [Text.Encoding]::UTF8;
  5. $url = 'http://www.court.gov.cn/paper/default/index.html';
  6. $Master = 'http://www.court.gov.cn'
  7. $http = (split-path $url).Replace('\','/');
  8. #
  9. Function ANJian_ZenLi {
  10. Param ( [string]$url )
  11. [Collections.Arraylist] $arr = @();
  12. [Collections.Arraylist] $array = @();
  13. $Content = $null;
  14. $Page = $Web.DownloadString( $url ) -Split "`n";
  15. $array = $Page -Match $title | %{ $_.Split('"')[-1] -Replace '(</?(li|div))?>','' };
  16. $array.Add('') | Out-Null;
  17. $Content = $Page -Match '</div><div style' -Replace ";'>","`r`n@" -Replace '</div>',"`r`n";
  18. $arr = ($Content -Split "`n" -Match '^@') -NotMatch '^@<' -Replace '^@','' `
  19. -Replace '&times;','X' -Replace '&ldquo;','“' -Replace '&rdquo;','”' -Replace '&hellip;','…';
  20. $arr = $arr -notmatch '^$'; if ( $arr ) { $arr.Add('') | Out-Null };
  21. $array = $array + $arr;
  22. $Content = ( $Page -Match '^\s+.*</div>$') -NotMatch '<div';
  23. $arr = $Content -Replace '^\s+|</div>|&nbsp;','' -Replace '&times;','X' `
  24. -Replace '&ldquo;','“' -Replace '&rdquo;','”' -Replace '&hellip;','…';
  25. $arr = $arr -notmatch '^$'; if ( $arr ) { $arr.Add('') | Out-Null };
  26. $array = $array + $arr;
  27. $arr = $Page -Match '<(div|p) style.*</(div|p)>$' | %{ $_.Split('"')[-1] -Replace '(</(p|div))?>|&nbsp;','' };
  28. $arr = $arr -notmatch '^$'; if ( $arr ) { $arr.Add('') | Out-Null };
  29. $array = $array + $arr;
  30. $array.Add('*************************完成*************************') | Out-Null;
  31. '';$array;
  32. };
  33. Function InputLine {
  34. $num = Read-Host -Prompt "输入内容序号,1 - $n ;按<Enter>+<退格>返回上一层 按2次<Enter>显示内容";
  35. if ( [Console]::ReadKey($true).Key -eq 'BackSpace' ) { cls;InputPage };
  36. $num = $num -as [int32];
  37. if ( !$num -or ($num -lt 1 -or $num -gt $n) ) { CLS;'超出范围,重新输入'; InputLine };
  38. $Url = $XianQingArray[$num-1][0];cls;
  39. ANJian_ZenLi $Url;pause;cls;
  40. Write-Host " 第 $Number 页:如下" -fore Green;
  41. For ( $k =0; $k -lt $XianQingArray.Count; $k++ ) {
  42. '';  Write-Host " <$($XianQingArray[$k][1])> " -Fore red -NoNewLine;
  43. Write-Host $($XianQingArray[$k][2]) -Fore DarkYellow; '';
  44. };
  45. InputLine;
  46. };
  47. Function InputPage {
  48. $Specify = Read-Host -Prompt "输入某一个页面,1 - $Last ";
  49. [Collections.Arraylist] $XianQingArray = @();
  50. $Number = $Specify -as [int32];
  51. if ( !$Number  -or ($Number -lt 1 -or $Number -gt $Last) ) { CLS;'超出范围,重新输入'; InputPage };
  52. cls; $Page = $Web.DownloadString( $PageArray[$Specify-1] ) -Split "`n";
  53. $Content = $Page -Match 'xiangqing';
  54. $n = 0;
  55. $Content | %{ $n++
  56. $link = $Master + $_.Split('"')[-2];
  57. $str = $_.Split('"')[-1] -Replace '(</(a|li))?>','';
  58. $XianQingArray += ,($link,$n,$str);
  59. };
  60. cls; Write-Host " 第 $Number 页:如下" -fore Green;
  61. For ( $k =0; $k -lt $XianQingArray.Count; $k++ ) {
  62. '';  Write-Host " <$($XianQingArray[$k][1])> " -Fore red -NoNewLine;
  63. Write-Host $($XianQingArray[$k][2]) -Fore DarkYellow; '';
  64. };
  65. InputLine;
  66. };
  67. $Page = $Web.DownloadString( $url ) -Split "`n";
  68. [int]$Last = ($Page -Match '尾页' -Replace '\D','') -join '';
  69. [Collections.Arraylist] $PageArray = @($url);
  70. (2..$Last) | %{ $PageArray += $http + '/index/page/' + "$_.html" };
  71. InputPage;
复制代码

TOP

返回列表