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

回复 8# went
如果我把所有电视剧网址写入文本a,再一个一个获取,可能更好。
【概览】里面的“主演”不要了,因为后面有演员。
【分集剧情】包括剧情介绍(展开)和每一集剧情,暂时没有抓取。
谢谢!

有些演员那里没有转行。
比如,ZZZ车梓茗 饰演 :齐贵田玲 饰演 牛兰花张宛庭 饰演 孙桂琴闫锐 饰演 马志刚王超 饰演 李天洋

TOP

  1. #&cls&@cd /d "%~dp0" & powershell -c "Get-Content '%~0' | Select-Object -Skip 1 | Out-String | Invoke-Expression" &pause&exit
  2. cls
  3. #whr
  4. $whr = New-Object -ComObject 'WinHttp.WinHttpRequest.5.1'
  5. #函数 获取一页列表
  6. function Get-PageList($page){
  7.     $url = 'https://www.km.com/tv/-----{0}.html' -f $page
  8.     $whr.Open('GET',$url,$false)
  9.     $whr.Send()
  10.     if($whr.Status -eq 200){
  11.         $txt = $whr.ResponseText
  12.         $whr.Abort()
  13.         $pattern = '(?<=<div class="filter_res_image scale_image_container">\s+<a href=").*?(?=")'
  14.         [regex]::Matches($txt,$pattern) | foreach {
  15.             if($_.Value -match '/(\d+).html$'){
  16.                 $Matches[1]
  17.             }
  18.         }
  19.     }
  20. }
  21. #函数 获取主要信息
  22. function Get-MainInfo($key){
  23.     #主要信息界面
  24.     $url = 'https://www.km.com/tv/{0}.html' -f $key
  25.     $whr.Open('GET',$url,$false)
  26.     $whr.Send()
  27.     $txt = $whr.ResponseText
  28.     $whr.Abort()
  29.     #标题
  30.     $pattern = '(?s)<div class="inside-title.*?>.*?>(.*?)<'
  31.     if($txt -match $pattern){
  32.         '名称: TTT' + $Matches[1]
  33.         Write-Host ('解析电视剧: ' + $Matches[1])
  34.     }
  35.     #图片地址
  36.     $pattern = '(?s)<div class="video_poster.*?">.*?<img src="(.*?)"'
  37.     if($txt -match $pattern){
  38.         '图片地址: ''https:' + $Matches[1]
  39.     }
  40.     #概览
  41.     "`r`n【概览】"
  42.     $pattern = '(?s)mr20">(.*?)<a class="unfold"'
  43.     if($txt -match $pattern){
  44.         $t = $Matches[1] -replace '(?s)<script>.*?</script>','' -replace '<.*?>','' -replace '\s{2,}',''
  45.         $t -replace '(导演:)|(主演:)|(地区/类型:)|(剧情集数:)|(播出时间:)|(在线观看网站:)|(别名:)|(片长:)',("`r`n" + '$0')
  46.     }
  47.     #分数
  48.     $pattern = '(?s)<p class="score_num.*?>.*?>(.*?)<'
  49.     if($txt -match $pattern){
  50.         '综合评分: ' + $Matches[1]
  51.     }
  52.     #幕后信息
  53.     "`r`n【幕后信息】"
  54.     $pattern = '(?s)幕后信息</div>(.*?)<a class="intro_fold'
  55.     if($txt -match $pattern){
  56.         $Matches[1] -replace '<.*?>','' -replace '\s{2,}','' -replace '(编剧:)|(制片人:)|(TV首播时间:)|(在线播放平台:)|(出品公司:)|《',("`r`n" + '$0')
  57.     }
  58.     #演员表
  59.    "`r`n【演员表】"
  60.     $url = 'https://www.km.com/tv/yanyuan/{0}.html' -f $key
  61.     $whr.Open('GET',$url,$false)
  62.     $whr.Send()
  63.     $txt = $whr.ResponseText
  64.     $whr.Abort()
  65.     $pattern = '(?s)<div class="actor-list-detail same_col">.*?<div class="actor-works same_col_bottom">'
  66.     [regex]::Matches($txt,$pattern) | foreach {
  67.         'ZZZ' + ($_.Value -replace '<.*?>','' -replace '\s{2,}','' -replace '饰演'," 饰演 ")
  68.     }
  69.     #人物介绍
  70. "`r`n【人物介绍】"
  71.     $url = 'https://www.km.com/tv/role/{0}.html' -f $key
  72.     $whr.Open('GET',$url,$false)
  73.     $whr.Send()
  74.     $txt = $whr.ResponseText
  75.     $whr.Abort()
  76.     $pattern = '(?s)<div class="role-name">.*?<div class="role-intro-js">'
  77.     [regex]::Matches($txt,$pattern) | foreach {
  78.         $_.Value -replace '<.*?>','' -replace '\s{2,}','' -replace '演员',' 演员' -replace '-->简介:',"-->简介:`r`n`t"
  79.     }
  80. }
  81. #函数 一页数据保存为一个文件
  82. function Save-PageInfo($page){
  83.     #如果本页已解析,则跳过
  84.     $f = 'page_{0:000}.txt' -f $page
  85.     if([System.IO.File]::Exists($f)){
  86.         '第{0}页已解析,跳过...' -f $page
  87.         return;
  88.     }
  89.     #开始解析
  90.     &{
  91.         Get-PageList -page 1 | foreach {
  92.             Get-MainInfo -key $_
  93.             '----------------------------------'
  94.         }
  95.     } | Out-File $f
  96. }
  97. #解析并保存第一页数据
  98. Save-PageInfo -page 1
复制代码
1

评分人数

TOP

5楼只有标题,而且放弃了。
欢迎大家继续。

TOP

回复 3# a20150604


    我擦,你真牛b

TOP

本帖最后由 slimay 于 2021-9-30 14:51 编辑

请到 http://cmd1152.ys168.com/  文件区   下载 "lxh623已经提取好的资料.zip"  
附赠 提取工具, 赠三种数据格式 ,txt, html, excel表格格式. 均是提取好的全部数据, 直接使用.无需加工
  1. ..   http://cmd1152.ys168.com/  文件区   下载 "lxh623已经提取好的资料.zip"
  2. 七猫影视-提取.html
  3. 七猫影视-提取.xls
  4. 定制说明.txt
  5. 搜视网-提取.html
  6. 搜视网-提取.xls
  7. 文本格式
  8. 新站到-提取.html
  9. 新站到-提取.xls
  10. 附赠提取工具
复制代码
提取脚本,网址随便改, 理论上可提取任何网站
  1. @echo off
  2. REM 设置提取网址
  3. set "url=https://www.tvsou.com/class/dianshiju/--"
  4. REM 设置网页数量
  5. set "num=100"
  6. REM 开始提起网页
  7. for /l %%a in (1,1,%num%) do (
  8. echo;正在下载 第 %%a 个页面
  9. curl  "%url%--%%a"  > home\%%a.txt
  10. echo;正在转码 第 %%a 个页面
  11. wincp    home\%%a.txt  -o ansi\N_%%a.txt -f 65001 -t 936
  12. )
  13. REM 直接输出提取后的信息
  14. (
  15. for /l %%a in (1,1,%num%) do (
  16. zq    ansi\N_%%a.txt  
  17. )
  18. ) > out.html
  19. pause
复制代码
1

评分人数

TOP

要采集的信息那么多,才100元,不值得写
提供bat代写,为你省时省力省事,支付宝扫码头像支付
微信: unique2random

TOP

本帖最后由 a20150604 于 2021-9-30 12:48 编辑

以下为单页获取演示, 可让代码自动逐页全部获取
演示为此2页
https://www.km.com/tv/-----13.html
https://www.km.com/tv/-----14.html

TOP


已成功获取

TOP

返回列表