使用PyInstalive录制Instagram直播及回放视频

自我摸索学习记录用 ,电脑端录制 Instagram Live 直播(快播)新手教程
默认看这篇教程的都是零基础没有编程和架构经验的所以非常流水账(爆)
感谢万能的技术大佬妖精桑又一次被我打搅请教 XDDD

追星,要录Ins直播。因为每次开直播都措不及防,外加不想屏录就研究了一下。
目前网上并没有什么可以专门用来扒InsLive(快播)视频的软件或网站这点有点棘手。
还以为只能老老实实屏录得时候发现Github上有人写了这么一个脚本
可以录制正在直播中的inslive,同时给出回放的直播的也可以下载,正是我所需要的。

脚本地址: https://github.com/notcammy/PyInstaLiv

尝试录制了几次之后发现这个脚本很不错,不同于屏录,这个脚本是直接扒源,
所以得到的视频就是直播时你看到的原视频,同时评论内容也单独导出成了txt文本
另外稍加设置就可以在目标对象开直播时实现自动录制。

虽然是基于python需要一点相关知识,但实际操作很简单(麻烦的是windows准备环境)。
所以我就想着写一个超傻瓜教程方便不太懂的命令行使用的人。

另外推荐一下这么一篇文章教程:
PyInstalive初步测试过程记录 作者: @WHALESSHARK 

https://www.weibo.com/ttarticle/p/show?id=2309404376334469102690


 

window系统准备安装脚本所需要的环境

使用前需要确保电脑内安装了以下软件:

安装python

进入python官网下载最新版本:https://www.python.org/downloads/

安装程序,务必记得 在安装时勾选上 Add Python 3.XX to PATH

windows 搜索 CMD (命令提示符),输入 python 回车
显示类似如下则表示安装成功

Python 3.7.1rc2 (v3.7.1rc2:6c06ef7dc3, Oct 13 2018, 15:44:37) [MSC v.1914 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>

更多参考:https://www.liaoxuefeng.com/wiki/1016959663602400/1016959856222624

安装Git

下载Git windows版本(32还是64看你电脑系统) – 安装一路next默认配置到底
下载地址:https://git-scm.com/downloads

更多参考:https://blog.csdn.net/qq_32786873/article/details/80570783

安装 pip + setuptools

首先你电脑里要装了python

安装方法有两个,我忘记自己装的时候用的哪个了(。)
方法一如果能正常安装不报错的话复杂的要死的方法二就不用管了

方法一:

使用以下命令直接安装 pip+setuptools:

快捷键 Win+R,进入CMD,依次输入如下两个指令:
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
python get-pip.py
如果期间没有报错那就是pip和setuptools打包安装好了,可以直接进行下一步ffmpeg安装

方法二:

下载 pip 工具( tar.gz 的那个):https://pypi.org/project/pip/#files

解压文件,把最里面那个整的文件夹 pip-19.X.X 拖出来(这个文件夹里面应该是这样)

快捷键windows+r,输入cmd,进入终端,使用cd命令进入pip文件夹解压后的位置,
即输入 cd /D 目标路径 

不确定位置的话有个最简单的方法,打开文件夹,直接把地址栏的地址复制出来

接着输入 python setup.py install  ,安装pip工具

下载 setuptools 工具( zip的那个):https://pypi.org/project/setuptools/#files

同理,解压缩,获取文件夹路径,在CMD命令提示符里输入 cd /D 目标路径
接着输入 python setup.py install ,安装setuptools工具

输入 easy_install 检测是否安装成功,若显示如下结果则代表安装成功了

error: No urls, filenames, or requirements specified (see --help)

返回到pip工具的目录 cd /D 目标路径,重新执行python setup.py install,再次安装pip工具
安装完成后关闭窗口,再重新进入cmd终端,输入 pip help 检验是否安装成功!

更多参考:https://blog.csdn.net/zxy987872674/article/details/54906908

安装 ffmpeg

太麻烦懒的写了 = = … 可以直接参考这个教程一步步走下去安装
https://www.jianshu.com/p/2b609afb9800


window系统安装及使用脚本

麻烦的环境准备完成了,接下来真正安装使用脚本就很简单了

快捷键 windows+r,输入cmd,进入终端
输入 pip install git+https://github.com/notcammy/[email protected]

pyinstalive就会自动进行下载安装,没出现error等字样就是成功了
这个指令装的是3.2.0版的脚本,后续新的版本看脚本主页里安装那一项进行更新

如果出现一大串红字警告,read time out 超时报错的话,
检查一下自己的网络情况,使用如下指令
pip --default-timeout=100 install -U git+https://github.com/notcammy/[email protected] 或
pip --default-timeout=6000 install -U git+https://github.com/notcammy/[email protected]
本质是设置超时缓冲时间不要这么急着报错(。)

pip --default-timeout=100 install -U git+<脚本安装地址>

安装完成后输入 pyinstalive -d "你想下载的用户的id"
接着在电脑里找到 pyinstalive.ini 这个文件(不知道地方的可以直接C盘搜索)
用txt记事本打开,填写用户名和密码你想要的文件存储路径,保存

username = ins注册时的id
password = ins登录密码
download_path = 文件存储路径

设置好后,只要在CMD里输入如下指令就可以录制insLive了

pyinstalive -d "你想录直播的用户的id"

目标用户正在直播的话就会录制直播,如果用户有可以看的直播回放,
脚本也会自动下载。录制和下载的文件就在你填的“文件存储路径”里

ctrl+c 就会停止,只录你想要的那段

需要注意的是你想要录制 insLive 的对象必须在你使用帐号的关注列表里
其次因为IP变动比较厉害的话ins会强制需要你验证,造成登录失败
所以我个人强烈建议专门准备一个帐号用于录制,并且在帐号的登陆活动设置里添加常用IP
特别是使用VPS虚拟服务器自动录制时,专门备一个帐号用于录制是很有必要的

更多这个脚本指令相关的细节可以看脚本作者给出的使用手册:https://github.com/notcammy/PyInstaLive/blob/master/MOREHELP.md

Windows配置脚本自动录制

以上就是windows系统安装和使用PyInstalive录制Instagram直播及回放视频的基本内容了
如果想要自动录制的话可以新建一个txt文本,输入如下文字,保存

cd C:\PyInstaLive
:loop
pyinstalive -u "用户名" -p "密码" -d "想要录制的对象"
timeout 10 > nul
goto loop

如果想同时追踪自动录制多个用户,则是由 & 来间隔指令,即

cd C:\PyInstaLive
 :loop
 pyinstalive -u "用户名" -p "密码" -d "想要录制的对象A" & pyinstalive -u "用户名" -p "密码" -d "想要录制的对象B" & pyinstalive -u "用户名" -p "密码" -d "想要录制的对象C"
 timeout 10 > nul
 goto loop

然后把txt文件的拓展名改成bat
点击这个bat文件就可以自动录制了(设定是每10秒检查一次)
你这个bat文件在哪,录制出来的文件存放在哪儿

更多参考: https://www.weibo.com/ttarticle/p/show?id=2309404376334469102690

当然,这个自动录制也有个缺点,就是电脑必须保持开着运行这个bat文件(笑)
要解决这个问题那就需要用上VPS,在云服务器上架设脚本自动执行,这样电脑就能真正解放了
VPS(我用的是linux ubuntu系统)环境准备也没有windows那么复杂,下面也会给出方法


在VPS服务器(ubuntu系统)上安装配置脚本实现自动录制

再次强调我默认看这篇教程的都是零基础没有网站架构经验的所以流水账(爆)

首先要有VPS云服务器,懒的折腾什么有的没的的小服务商的话,国内服务器商比较知名的阿里云腾迅云华为云天翼云 ;国外服务器商 Vultr 之类的。我个人强推vltur啊,便宜好用选择多,还是按时间收费的服务器随便添随便删,备份还不收钱,任你瞎折腾搞死了删了重开XD 而且还可以用来搞个SSR梯子充分利用
如果只是用来录ins,不用买什么高内存高性能的,捡便宜的就行,至于硬盘大小根据你自己的情况来定。
我个人因为需要录制的对象不多直播的频率也不算勤,每周也会整理一次文件,所以25G够用。

我个人用的服务器运营商是vultr,系统选的ubuntu(17.X+、18.X+ 都行)
当然vltur目前ubuntu系统最高是19.10我直接用的最新版。

使用SSH软件登录你的服务器,常见的SSH软件有 puttty、Xshell,我个人用的是Termius
当然如果服务器运营商后台自带的话你也可以直接用自带的。

环境准备

首先,通过依次运行以下命令更新资源与更新升级:
sudo apt-get update
sudo apt-get upgrade

ubuntu系统自带python2.7(默认)和python3.4,所以不需要自己安装python
可以使用 python -Vpython3 -V 查看已安装python版本

apt install python   # 安装version 2.7.17
apt install python3 # 安装version 3.7.5

ps:目前python3是大势所趋,vlutr的ubuntu最新版默认安装了python3.7.5
我个人也是建议使用 python3,因为python2的话在保存InsLive评论时除了英文其他语言都无法保存

在系统里已有多个python版本的情况下我们可以用以下方法设置切换默认的版本
首先 python --version 查看python的版本 如需显示是python2.7的话则建议变更
使用 update-alternatives 来为整个系统更改 Python 版本:
以 root 身份登录,首先 update-alternatives --list python 罗列出所有可用的 python 替代版本信息

update-alternatives: error: no alternatives for python

若显示如上信息,则表示 Python 的替代版本尚未被 update-alternatives 命令识别。
想解决这个问题,我们需要更新一下替代列表,将 python2.7 和 python3.7 放入其中
update-alternatives --install /usr/bin/python python /usr/bin/python2.7 1
update-alternatives --install /usr/bin/python python /usr/bin/python3.7 2
路径可以在服务i器的 /usr/bin/ 目录下查看,指令里最后一个参数指定了此选项的默认优先级
例如此处的 /usr/bin/python3.7 设置的优先级为2,所以在我们不手动设置的情况下将会成为默认的Python版本我们再来 python --version 检查一下Python版本,现在应该显示是python3.7的版本了

如日后再需要切换python版本,可以通过输入指令 update-alternatives --config python 来实现

更多的相关内容可以参考此处:https://blog.csdn.net/fang_chuan/article/details/60958329

Git系统自带了所以不用装

安装pip和setuptools,可以使用以下命令:(目前python3是大势所趋)
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
python:python get-pip.py
安装完成后可以使用pip -Vpip3 -V查看看装的pip版本

详情可以参考:https://pip.pypa.io/en/stable/installing/

ffmpeg的安装也十分简单,下面三条指令依次输入即可
sudo add-apt-repository ppa:kirillshkrogalev/ffmpeg-next
sudo apt-get update
sudo apt-get install ffmpeg
输入 ffmpeg -version 可以查看当前版本的详细信息

以上,运行脚本所需要的环境就准备完成了

安装及使用PyInstalive脚本

首先建议新手使用 XFTP 这么一个软件来获取和编辑服务器上的文件
使用 XFTP 在服务器上创建一个目录用来存放录制视频(个人建议在 /root/ 目录下),
例:我自己就是在root目录下创建了一个 InsLive 文件夹用于存放,所以路径是 /root/InsLive

安装脚本的方式和注意事项基本同前文提到的 window系统安装及使用脚本
输入 pip install git+https://github.com/notcammy/[email protected] 安装脚本

cd 进入你目标存放视频的文件夹 即

cd 目标路径 

我这边就是输入 cd /root/InsLive

接着输入 pyinstalive -d "你想下载的用户的id" 
通过xftp你就会发现目录下多了个 pyinstalive.ini 的文件,右键用记事本编辑,修改用户名和密码,并添加 一句skip_merge = False 然后保存

username = ins注册时的id
password = ins登录密码
skip_merge = False

接下来就可以通过如下指令来录制直播和回放了

pyinstalive -d "你想录直播的用户的id"

关注和IP问题就不多复述了,见上文windows使用的部分

最后通过配置 cron tab 指令来实现脱机自动追踪录制

顺序是这样的:

https://crontab-generator.org/ 生成你要的脚本
设置程序间隔运行时间,每分钟检查一次就其他都不用变
注意设置的时候每XXX执行和和固定几点几分执行是不一样的
在这里我们默认设置成每分钟执行一次所以是 * * * * *
更多内容请参考:cron表达式 和工具 Cron Maker在线Cron表达式生成器

Command那里,比如你要运行的脚本是
pyinstalive -d "你想录直播的用户的id"
那你就照样写上。

注意: crontab有的时候不能解析程序位置,所以推荐写清楚完整路径。
比如你要运行pyinstalive,先输入 which pyinstalive 运行指令
得到的结果就是程序的完整路径,我这边是是 /usr/local/bin/pyinstalive

另外不读取刚才设置的pyinstalive.ini文件程序就读不到登录的cookie(弱智)
所以我们还要把该文件及所在文件夹的路径也放进去,我这边是  /root/InsLive

总之就是在Command那里写下述指令

cd [pyinstalive.ini文件所在文件夹] && [pyinstalive程序所在路径] -cp [pyinstalive.ini文件路径] -dp [想要视频保存的文件夹路径] -d "[想要录制的目标用户ins ID]"

按照我这边的设置步骤举例的话就是要输入如下指令
cd /root/InsLive && /usr/local/bin/pyinstalive -cp /root/InsLive/pyinstalive.ini -dp /root/InsLive -d "想要录制的目标用户ID"

得到如下结果:

* * * * * cd /root/InsLive && /usr/local/bin/pyinstalive -cp /root/InsLive/pyinstalive.ini -dp /root/InsLive -d "想要录制的目标用户ID" >/dev/null 2>&1 

接着用SSH端在服务器里面输入 crontab -e 开始编辑crontab文件。

如果跳出这个选单

Select an editor.  To change later, run 'select-editor'.
  1. /bin/nano        <---- easiest
  2. /usr/bin/vim.basic
  3. /usr/bin/vim.tiny
  4. /bin/e

那就是让你选编辑器,我推荐用vim.basic,如果你要用别的可以自己改。
如果想换编辑器那就在用 select-editor 命令。
接下来的我会假设你在用vim。

你现在应该看到一个空白文件。
i进入编辑模式。把你刚才得到的内容贴进去:
* * * * * cd /root/InsLive && /usr/local/bin/pyinstalive -cp /root/InsLive/pyinstalive.ini -dp /root/InsLive -d "想要录制的目标用户ID" >/dev/null 2>&1 

注意前面的五个*应该是显示出颜色的。如果你要运行多个crontab,每个单独列一行即可。
然后按Esc退出编辑模式,打“:x”然后敲回车保存并退出。

现在cron job应该已经安装好了。如果需要修改,再用crontab -e即可。

crontab的基础命令

启动服务:service cron start
重启服务:service cron restart
重载配置:service cron reload
关闭服务:service cron stop

查看任务是否在后台运行:pgrep cron 有数字反馈就是正在执行

更多请参考:https://www.cnblogs.com/kenshinobiy/p/7685229.html

这样就设定好每隔一分钟检测目标用户是否开直播并且进行自动录制
最后不要忘了定期用 XFTP 导出备份录制的视频文件,并给服务器腾出位置


One Comments

发表评论