如何下载Iwara上的视频？ | Mayx的博客
Author: mayx
Description: PHP果然是全世界最好的语言，我又用PHP解决了一个问题！
Date: 2019-04-13T00:00:00+08:00

13 April 2019 - 字数统计：2977 - 阅读大约需要10分钟 - Hits: Loading...

# 如何下载Iwara上的视频？

by mayx

这是一篇创建于 天前的文章，其中的信息可能已经有所发展或是发生改变。

AI摘要

这篇文章介绍了使用PHP编写的Iwara Viewer，一个帮助用户从Iwara平台下载视频的工具。作者主要是出于对网站Ecchi（Iwara上的一个内容区）上的R183D动画，特别是"Observation Diary"的兴趣。工具允许按照日期、观看数或喜好排序视频，并提供了在服务器上直接下载视频的选项，以解决Iwara防盗链的问题。然而，该工具的缺点在于没有显示观看数、作者信息，且可能受Iwara服务器限制。作者还提供了相关的演示和下载工具链接。

- 制作原因
- Code
- 使用方法
- 缺点
- 演示

PHP果然是全世界最好的语言，我又用PHP解决了一个问题！

#
制作原因

Iwara(Ecchi)上的视频是真的有意思，尤其是镇站之宝OBSERVATION DIARY，简直是R183D动画的巅峰 （请原谅我的孤陋寡闻） ，所以为了更好的看Iwara上的的视频，我写了Iwara Viewer来帮助我们下载Iwara(Ecchi)上面的视频。

#
Code

    <?php
    if ( $_GET["ID"] == '' ) {
    if ( $_GET["page"] == '' ) {
        $_GET["page"] = 0;
    }
    if ( $_GET["sort"] == '' ) {
        $_GET["sort"] = "date";
    }
    $url = 'https://ecchi.iwara.tv/videos?page='.$_GET["page"].'&sort='.$_GET["sort"];
    $str = file_get_contents($url);
    $preg='/<a href="\/videos\/(.*?)".*?>(.*?)<\/a>/is';
    preg_match_all($preg,$str,$match);//在$str中搜索匹配所有符合$preg加入$match中
    echo "<title>Mayx Iwara Viewer</title>";
    echo "<h1>Mayx Iwara Viewer</h1><br />Sort by: <a href=\"?page=".$_GET["page"]."&sort=date\">Date</a> <a href=\"?page=".$_GET["page"]."&sort=views\">Views</a> <a href=\"?page=".$_GET["page"]."&sort=likes\">Likes</a><hr /><table border=\"1\"><tr>";
    $j=0;
    for($i=0;$i<count($match[0]);$i++)//逐个输出超链接地址
    {
    if (($i % 2) == $j) {
      if ( $match[1][$i] == $match[1][$i+1] ) {
      echo "<td><a href=\"https://ecchi.iwara.tv/videos/".$match[1][$i]."\">".$match[2][$i]."</a></td>";
      } else {
      echo "<td><a href=\"https://ecchi.iwara.tv/videos/".$match[1][$i]."\">No Image</a></td><td>".$match[2][$i]."</td><td><a href=\"https://ecchi.iwara.tv/videos/".$match[1][$i]."\">View in Iwara</a><br><a href=\"?ID=https://ecchi.iwara.tv/videos/".$match[1][$i]."\">Download Url in Server</a></td></tr><tr>";
      if ($j == 0) {
          $j = 1;
      } else {
          $j = 0;
      }
      }
    } else {
      echo "<td>".$match[2][$i]."</td><td><a href=\"https://ecchi.iwara.tv/videos/".$match[1][$i]."\">View in Iwara</a><br><a href=\"?ID=https://ecchi.iwara.tv/videos/".$match[1][$i]."\">Download Url in Server</a></td></tr><tr>";
    }
    }
    echo "</tr></table><hr><a href=\"?page=".($_GET["page"] + 1)."&sort=".$_GET["sort"]."\" >Next Page</a>";
    } else {
    $data = file_get_contents('https://ecchi.iwara.tv/api/video/'.trim(strrchr($_GET["ID"], '/'),'/'));
    $file = json_decode($data,true);

    echo "Download URL:<br>https:";
    echo $file[0]['uri'];
    }

(2019.4.18 更新：解决了部分没有图片而导致错位的问题)

(2019.4.18 更新：解决了由于智障导致的图片被筛掉的问题，但是并不保证会不会再出现问题)

#
使用方法

除了比Iwara更简陋，其他的没什么太大的区别，增加了一个Download Url in Server的选项，用来帮助在服务器上直接下载视频（因为Iwara通过识别IP来防盗链……），得出的链接可直接在服务器上下载（比如用KodExplorer），在服务器上下载的速度还是很不错的。

不过有的时候Iwara图片服务器也会被Ban（比如移动网），这时候就应该用到miniProxy了（当然代码也得改，就是我太懒了，懒得改2333）

#
缺点

没有观看数/作者等信息、而且不知道Iwara的服务器在哪里，用这个速度浏览的速度也不会有太大提升……

#
演示

https://counter.mayx.me/iwaraview.php

如需用演示站下载，可复制地址，然后用Download Tool下载（因为演示站的IP和你的服务器IP不同）：

    <h1>Mayx Iwara Video Download Tool</h1><form action="iwara.php" method="get" >

    Video URL: <input type="text" name="ID"><br>
    <input type="submit">

    </form>
    <br>
    <?php
    if ( $_GET["ID"] != '' ) {
     $data = file_get_contents('https://ecchi.iwara.tv/api/video/'.trim(strrchr($_GET["ID"], '/'),'/'));
     $file = json_decode($data,true);

    echo "Download URL:<br>https:";
    echo $file[0]['uri'];
    }
    ?>

tags: Iwara - PHP - 视频 查看原始文件

#### 推荐文章

Loading...

上一篇：Mayx又双叒叕Crash了……
下一篇：(转)Shell 脚本编程陷阱
想问这篇文章
召唤伊斯特瓦尔