Add mime parser: clippituser.tv

This commit is contained in:
woorst
2017-08-27 13:05:32 -05:00
parent d6735f7181
commit 1c986788ed
3 changed files with 119 additions and 5 deletions

View File

@@ -321,7 +321,7 @@ class TwitchMIMEParser(BaseMIMEParser):
return url, None
class OddshotIMEParser(OpenGraphMIMEParser):
class OddshotMIMEParser(OpenGraphMIMEParser):
"""
Oddshot uses the Open Graph protocol
"""
@@ -375,9 +375,24 @@ class LiveleakMIMEParser(BaseMIMEParser):
else:
return url, None
class ClippitUserMIMEParser(BaseMIMEParser):
"""
"""
pattern = re.compile(r'https?://(www\.)?clippituser\.tv/c/.+$')
@staticmethod
def get_mimetype(url):
page = requests.get(url)
soup = BeautifulSoup(page.content, 'html.parser')
tag = soup.find(id='jwplayer-container')
quality = ['data-{}-file'.format(_) for _ in ['hd', 'sd']]
return tag.get(quality[0]), 'video/mp4'
# Parsers should be listed in the order they will be checked
parsers = [
OddshotIMEParser,
ClippitUserMIMEParser,
OddshotMIMEParser,
StreamableMIMEParser,
VidmeMIMEParser,
InstagramMIMEParser,

View File

@@ -0,0 +1,95 @@
interactions:
- request:
body: null
headers:
Accept: ['*/*']
Accept-Encoding: ['gzip, deflate']
Connection: [keep-alive]
User-Agent: [python-requests/2.18.4]
method: GET
uri: https://www.clippituser.tv/c/edqqld
response:
body:
string: !!binary |
H4sIAAAAAAAAA71abXPbOJL+nl+B8HZyUsUk9WI7tiTa42Qyt9lLMlOTzNzVuVwqiIREJHwbApLt
SfLf7wFAUqQsSko2u6mKRYJAA93obnQ/6MnjIPXlfcZIKOPo4tHE/BD8m4SMBheP1KN+jZmkJMvT
jOXy3rPSxUhyGTGL+GkiWSI960XEs4xLi7g7hwku2TSh8TcMXeZRbb5QykyMXPf29tbxzdxLwXJH
rlzfZcGff0bBvrUETPg5zyRPkxrhX3MWc5aT14wuloy8S32f5SPyPF3mCYvTpQzJSjjkDU38kAmJ
ni+4vCefydvnL8i7LM2lIG+ZvE3zj/sWwGO6qAui5EnxI0quFEeGH1eGy3iWUB5NRUhz5nzIFgdN
MVKbXGNRz+t+yNiBw295IMPa+P7grHfYxCHjixBKUanJs8HukfPZiGbZlGPzqjGDZ4PhWX9wPDgf
9M9P+3rmDdVUGuVZ8pZLbMjIp3l9fBbRe5Zbm3rZHKMUszbnj4VOydWecf9yJYJm/RgGQiuWVow9
C9KbOxK5v8VY9iqWVqndgsL2jJToRjwL02SbHT/wAE1JKwI8eDj8vHfSH/ROTk+tPQSK/VwryE5f
UChF6RN2M2dIjzYV/rTX2yOVYuADfR8On9VHPrZt8v6Xn34ZERoEJGAsIxFPPvJkQeDeyDzNSZT6
NCIQEhFQZz9U32x797KVSP10mcj8vrbrv79TklxbipqJ5CzyLBrBTBKqNF65BjRkWcR9qlyh+0Gk
ydOUxTMGIwpzNvesnQI2XSufqw+G6jwg6UtFiPyap3OuDoyHtuvDlwmGI2Qp5/bZFr+iZrfZn0u+
8qz/tX+/sl+kcYa1zhoH0KuXHgsW7MgP8xTOwLiJ5gFm9HDF2a2yppqk9H57AVtxn9n65YjwhEtO
I1tgO0DOURqwlqXm8qJhl/8piLIvYpPiLJy4ptfWLRDyPmIiZAzrMEJ2hQRTvjtw+sdOzx6eoKHs
I9wVS4I0d3whmhJab+rXUsSeV+TWjCkN/fv7N69PiAh5fKRV8tXLU/uMiGWmxEbSedGBRSzG2S+a
6gkC13xOIolh5Pxmrbg6kDAnLoF7MlqFE1xFHSdqMmeRpouI+WnAHD+NXbFKXJkvk4+mi/MBrm/i
Ggo1e3h8DdHw+Y0ykiYfP9MVoUlAZLr0Q8JxoJi1TmqWAMVntu5gqw52lmMBcZaKtfY/3BjtY4WL
Aa6ynDYCTpYob1qbToSQoL+UejHtG1+jP6dQyjRx8KdJylAw5msOdDVbqy49JGn3zwd3+K9XSQT/
iwnPKtq++1Snvbv+aa85lWn73lOdn96dnzYm0i3fe5r+KRja4Act33ua4eBu2Nwh3dLwRXWbct0i
bHI+3OJMkjDfWBtTxGc5zTm0Nhy+/20wx7632FOD3AOf9IGuqOlR+aR/mo7yRDuJNJ3I3zrzZeKr
s6rTJZ8qky99/dX6LHMKJw7d7nTHjZ5fau9NpzJx18nPZJYG9ySgktpYpA3ZzvnCsz49+Y/h8fjl
26vnr19On//+888vf5u+/+3qxX+/evtf+tOIzGkk2BfsU3UEKaos3/CHlEiaL9TpN51FNEHKUBwG
9cQGKUCNUEWQxwucOFTAbKN0kcKGlVdt9VZFRDtVfY3iIgxYJ24bC3NpbelaIvW1TwK+KudWCkd5
0oiwta+v90FErqS3taPurM4dFbcTaJxKoeohT8XxBsUtQtmceMUDBsnoHWQ88KwiNWxyW06gfh/o
U2N2RUJbFjKKGkNmgjCwVZCzjpfa4m1kQU6cHRfrEocOG8KDrodpj75/rippNOmi0eVAVLqcLKOo
RZAl569TGqgwVIaMGNYdx2mXk4ttapdvXS2WWcLuEADpReVM0bZnMtmhxGbE1PSdzpZS4mzUB5im
cTgF1fPh+DTnC1tL7NsE60cIHA5jQXetr+BC24Bh0Aln2gQm7bLc9YkWXqQw+X0wSeFEgO4kNk9K
Tyd3aEV9E2vDrItfQAOhM4ET3rXAunepG1+dLmIwaSNguj1wHaqrgZYuviOGU3DRru1q0zQcQ4w2
bvVc2zyYHlQowA4WtUdTrn63d69TK+LOumA3nycio0npwYFhfJQpEk69oojOGDzCO/WCkxH9anH1
Jh28P3pU3zVDI0uzZTYtQpGCuebePvyuSOtJyfuQC/KH8txa7DVFaszEdAygE+ia/FSXi9do29C/
CU8yBN6FrhcsT03OV6bBUnujHIddmkTAOcsni6xotKw524NRR1pOGKczHA3VfAfk1eVJtTP5Np0m
pT3VtXWLrDbFZHLzfyCke6eR0E2RKXlgQyjJ01tEGQg7n0RyXASIAZsD/FRaqUOeFii2CCCRVCPK
QZR36eMINavWw54s5FgRLfI69Yq8uZjXnCLfxNSreQ6Q6jCGuO5LaBSlt3Mch2CQscSwpRdJdIdZ
miMIMs090x6nf+0YBTppBPVcmDFJagbtE5mGXqZmUQWsUgxUeIChZYCm0bB/kt2NiYYsRv1e74cx
iemdgTBGJ6c9fDRDb9nsI5fta622wUz7HbYBwDngk033OakMwjiKAp3bBJqKZgMDKJ9wqVTCexEy
/+MPgx5QePyVcBP4UYccfuaAffBTuH48GQAfDwbC/2F4hecajI83APn4u4by8aLA/Cc0zsbA4zxt
ehjYotuFGqveIRWhpAvhFUcuPMpGXF/gYsbDwW29N2D1huc/wNMXsplqWECHPnW8VHmCdc6xIe05
9aHFaZVl1F1L+U3LPMDWpQtX79ElMh8A8t4GDK+FFHChAilP+3vdoh3b4XLLWcCBuMjpMudmWFuw
YuKlWw4Y7Ha/dH8uOd1Ia/YfpKUcvkW+MRNCX+kY9y5iMbpUGeS/S3GfHiR4SM9gtEYXV5ySN8XC
v1paBcffJCxcZJWSivEs09GlWM4+QBv+XfLSGqs36FsF91Kt/OttWI36FpnBXAJ1yVoHCUybcZXL
Wczl5cGuq92ONCEAp+Q3M+NXK4ZZ1Q4ea5GdifLqEenM1uZexmUmsq5HL/vt2PiLB06yjGg3IoPN
uHbf5zoSETGK28UdI3Z92gRJ5mmKu5kd+UAjf8aNNzK2uYKGNzmov+vMElEezqSd6Ynek9qKzJA9
xPWgMuN0M7ftsnLnAqv9LI+k4hwFHp8Gjhg6NKZ/pQm9xb04zqcYxwZ18U3hLcI9OT87dvvHZ6e4
mD45O1VIh4No6A7/p3+enUwRh2XmIme6zPSFzsZFZ9vaqsC6vYMGO/ZLXxUn2Aqj+KoNqEb9U3tQ
5iCKmq692K0tJa+NjdzJoVaBtpy+LrpG2mlKSA5bywHTm0y1baPMEg/cLAU94JBETrANhmwwVLMW
DVioUQfId6KpF8moeqYKwIV+MPWCVKvXf2b3zuzB6ft+f3Q8RHD/f9bFtlZ1yxiz3VLc4YBqctkm
upaRbc0ViosrOYPhPtg47YsQwyURUEUiiiR+F+prXGKVuRdDW4Rcd1/lLLbO6y/UtSy5Rx0PwPkV
kD4JpOEPgB7IbZ0WhrR0altcUVSgwxr/rfixeVqvz9iU6Dr7aRDazH64XCZMOPpqUbu7pVD3jG7h
E10eVLUSl7H0zky+knrHLTIpl6GTixIAKcRoo23fzQGYKoFKsUJvfW/wU7mF/Jd3O+ZtdQvfS+K4
4M1T1Au1W8CBUleJTHEFbYIpmeZMyV24AcrfeCQukQXJVVWYtX9mrT7fKPSC+g7BX+3nvM0ntwh/
4hpbeyjL7VZbWXld0QvaDcNvYFE85hF9eHuiotaq0oRmvF4Ah1d3NdQGIMpqOGHouIdD/yIGADI1
yL80ufMWTmvmXkxhm+uvFhVrBGSZrW407AJD/T1DKeCdHLWIe9O70CVQWGhhy0S6ez1K1pGfqeiR
aRpJnlWp3f+EwOFLegRwKkso6mWCI0JRyLFA9YJEVY6+HQN6FKHgCHPHqv4EIrrXtzzWBS+D5U0/
VjkUzaeqEUH1jr7LmaZJOp9bF1cFKxNXd3ko5oqEgWVNHQMqKv2Ps/QOpTnmXrNBlJj6nWabupBr
ttTQkC1quY2V+g76O6P5lo1s7Io614D5KQQ9BVyxIDH8CBhSNZ0ODprtcUrDQjDQVqNK1QamYCe4
lAL6aPUNYfIG37csZ9P66u/aiPVJS97wOwD72Dt1yVQAumYP1Fnprm/5rYv1bfv8aNb9xOedxzNn
On33R/fTCvkEPWJH/GgxNsiMExeEvdkYvbh3fYNfdQ3vVZf2akTQ/VS+k3lndhQWxLzQAaLEZcdy
rO544HnUiViykOGTJ52ZN7um172bm6PQo9f9m+54dh3erOl2P82cbCnCDlrhwRPUs3Wu8hxeHYmC
TBV7jkCZG85UKHkH+NxS1y8d9brd7pcvihkfy7aWCaBtXGgH1mPPU6NQ8RRc4tN1cAN+RtC4kktr
7Dv4jnPaKx8+fwbLviPTdzJX0G/FNmSn5VUfvSaEqQLwSJ964PxpAN4+f9ZvpCPkctaFNHImUYNM
6Jdq0i2zdD8V3dZL6PS7T61imSW1L2PuWUDvlFMgMqf+R/N3mkHXVIVc8ariHFE8q1oSAXez4Lrs
uXyAyfsKPOdUkGVSfYZrSSSf32urnQIbRawn1ZUQKiiIkZmDltqjIVR84glAeLU9ZQccxDhuyje9
5KkPfHKBO2m9AzgvkIgXbaJsDFClhpJzlfpYpWoRCPMRuOksvN54MeGFio0XT5925x3/iF8vlHJB
fQt90hp70/2i2qD4qAYcjKk3d7BEROwvTR1cxzJ2BOLU2W5L+EDFfeJ7j3t4NBd6rh8kTnyXJVFZ
pyPcUr3sgTOARSWqOmbMMCHuUIrZxPP793TxFrJdzwvbGDMnA2abyLeqio4nYFs+Z+CVdcAEtLzb
QdG/1vujDYtVigu5lHNro+1Y/rA3HLD52fFwMBwOeuzZyeAkODsfsOGczo57Z+C2Kp/R/kVtUt27
4Hpwt3/RgcLiKqHRPY4f8QqHGvHIJ0t5TFUIPiJl0cYRsYJlrqtU0ToY4h1eEToVaztGW69oAqSs
S6VNiz7xVV1tMdJCpY0uaFDKbmGIQFLgMzXTgy+qJjNNzL0yvm8p8sd4lYEBZFDKoNe7ztNImb1Z
X8aPNuuMFPKI8kBd3njx/xuIGq6OMQAA
headers:
Age: ['22761']
Connection: [keep-alive]
Content-Encoding: [gzip]
Content-Length: ['3843']
Content-Type: [text/html; charset=utf-8]
Date: ['Sun, 27 Aug 2017 11:43:57 GMT']
Server: [nginx/1.4.6 (Ubuntu)]
Via: [1.1 d784ab98a21beb476de2ec8d5824cf82.cloudfront.net (CloudFront)]
X-Amz-Cf-Id: [5YJDFY6B-VxV3Ilh6E-EPqV4FBEU_5yr-N6TqUFpLAJ3SmJ4SlBSqg==]
X-Cache: [Hit from cloudfront]
X-Sentry-ID: [None]
status: {code: 200, message: OK}
version: 1

View File

@@ -89,6 +89,10 @@ URLS = OrderedDict([
'https://oddshot.tv/s/5wN6Sy',
'https://oddshot.akamaized.net/m/render-captures/source/Unknown-YjBkNTcwZWFlZGJhMGYyNQ.mp4',
'video/mp4')),
('clippituser', (
'https://www.clippituser.tv/c/edqqld',
'https://clips.clippit.tv/edqqld/720.mp4',
'video/mp4')),
])