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

补充批处理。100元。
文本c,写入名字,一行一个。(与文本b一样)
https://www.tvmao.com/搜索,得到链接,打开,获取人物关系图。没有就算了。

格式
TTT凤弈YYY人物关系图:http://XXXXXXXXXX.png
有些png后面有东西。就是整个链接。比如,guanxitu/L74pL7=rL-.png?1


谢谢!

TOP

本帖最后由 went 于 2021-10-7 11:59 编辑
  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 Set-RequestHeader($whr){
  7.     $whr.SetRequestHeader('User-Agent','Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.71 Safari/537.36 Edg/94.0.992.38');
  8.     $whr.SetRequestHeader('Host','www.tvmao.com')
  9.     $whr.SetRequestHeader('Connection','Keep-Alive')
  10. }
  11. #函数 根据关键字获取url链接
  12. function Get-Url($kw){
  13.     $url = 'https://www.tvmao.com/servlet/queryobject?type=all&term=' + [System.Net.WebUtility]::UrlEncode($kw)
  14.     $whr.Open('GET',$url,$false)
  15.     Set-RequestHeader -whr $whr
  16.     $whr.Send()
  17.     $txt = $whr.ResponseText
  18.     $whr.Abort()
  19.     if($txt -match '"url":"(.+?)"'){
  20.         return 'https://www.tvmao.com' + $Matches[1] + '/renwuguanxitu'
  21.     }
  22.     return $null
  23. }
  24. #函数 根据url获取人物关系图
  25. function Get-GXT($url){
  26.     $whr.Open('GET',$url,$false)
  27.     Set-RequestHeader -whr $whr
  28.     $whr.Send()
  29.     $txt = $whr.ResponseText
  30.     $whr.Abort()
  31.     if($txt -match '(?s)<div class="d_guanxi_img".*?>.*?<img src="(.*?/guanxitu/.*?)"'){
  32.         return $Matches[1]
  33.     }
  34.     return $null
  35. }
  36. #变量设置
  37. $cur_file = 'pass.txt' #保存已读取的个数
  38. $list_file = 'c.txt'   #电视剧名称列表文件
  39. $out_file = 'info.txt' #输出信息文件
  40. #读取已经解析的个数
  41. $cur = 0
  42. if([System.IO.File]::Exists($cur_file)){
  43.     $line = Get-Content $cur_file | Select-Object -First 1
  44.     if($line -match '\d+'){
  45.         $cur = [int]$line
  46.     }
  47. }
  48. Write-Host ('上次解析个数: {0}' -f $cur)
  49. #读取电视剧名称并解析内容
  50. Get-Content $list_file | Select-Object -Skip $cur | foreach {
  51.     $url = Get-Url -kw $_.Trim()
  52.     if($url -ne $null){
  53. Write-Host ('正在解析 {0}' -f $_)
  54. $png_url = Get-GXT -url $url
  55.         if($png_url -eq $null){
  56.             'nothing'
  57.         } else {
  58.             $info = 'TTT{0}YYY人物关系图: {1}' -f ($_.Trim(),$png_url)
  59.             Out-File -FilePath $out_file -InputObject $info -Append
  60.         }
  61.         Write-Host '--------------------------------------------------'
  62.         Start-Sleep -Milliseconds 500
  63.     }
  64.     ++$cur
  65.     Out-File -FilePath $cur_file -InputObject $cur
  66. }
复制代码
回复 16# lxh623
1

评分人数

TOP

回复 17# went


    66行时间可以改长点,不然数据容易漏掉, 500 = 0.5秒

TOP

本帖最后由 lxh623 于 2021-10-8 09:59 编辑

11楼的代码,我下载了35000左右。
但是,还是不全,因为目录抓取不全。
如果文本输入构造的剩余网址65000,希望得到:网址+TTT标题。(网站自己有重复,同一个名字对应两个网址。另一方面,可能构造网址对应无效。)

这样,可以与35000对比,没有的标题对应的网址,再来抓取。
50元。
谢谢!

TOP

回复 19# lxh623
这个我简单修改原来的批处理,居然完成。
谢谢!

TOP

回复 15# went
能不能做一个根据链接提取分集剧情的。因为有些搜索结果是多个。50元。
谢谢!

TOP

回复 21# lxh623


    点头像加我微信私聊

TOP

回复 22# went
新帖子。

TOP

返回列表