react-native-google-photos
Version:
Grabs Streaming & Downloader Url Google Photos
86 lines (78 loc) • 2.67 kB
JavaScript
import axios from 'axios';
import cio from 'cheerio-without-node-native';
const bgt = async(i) => {
const url = await axios.get(i);
const $ = cio.load(url.data);
const data = $('script')[0].children[0]
const rp = JSON.parse( data.data.replace('var VIDEO_CONFIG =',''))
return rp.streams[0].play_url;
}
class Grab {
async Photos(i){
const url = await axios.get(i);
const $ = cio.load(url.data)('body').html()
const item = `${$}`
const $data = item.split('003d');
const todos = {}
for(let i = 0;i < $data.length;i++){
if($data[i].indexOf('hd1080') != -1){
todos['hd1080'] = `${decodeURIComponent($data[1].split('%3Dm')[0])}=m37`
}else if($data[i].indexOf('hd720') != -1){
todos['hd720'] = `${decodeURIComponent($data[1].split('%3Dm')[0])}=m22`
}else{
todos['hd480'] = `${decodeURIComponent($data[1].split('%3Dm')[0])}=m18`
}
}
return todos;
}
async Blogger(i){
const url = await axios.get(i);
const $ = cio.load(url.data);
const todos = []
$('iframe').each(async(i,item)=>{
const $element = $(item);
if(!$element.attr('src')){
}else{
todos.push($element.attr('src'))
}
})
for(let i = 0;i < todos.length;i++){
todos[i] = await bgt(todos[i])
}
return todos
}
async Mp4Upload(i){
const url = await axios.get(i);
const $ = cio.load(url.data)('body > script:nth-child(9)').html();
const items = $.substring(926,$.length);
const tt = `${items.slice(0,-15)}`;
const m = explodeMp4Upload(tt)
return m;
}
async RapidVideo(i){
const url = await axios.get(i);
return {
url:cio.load(url.data)('source').attr('src')
}
}
// async bgt(i){
// const url = await axios.get(i);
// const $ = cio.load(url.data);
// const data = $('script')[0].children[0]
// const rp = JSON.parse( data.data.replace('var VIDEO_CONFIG =',''))
// return rp.streams[0].play_url;
// }
}
const explodeMp4Upload = async(i) => {
const t = i.split('video|')[1];
const m = t.split('|282')
if(i.indexOf('|www2|') !== -1){
// console.log('yes |www2|')
return `https://www2.mp4upload.com:282/d/${m[0]}/video.mp4`
}else if(i.indexOf('|s3|') !== -1){
// console.log('yes |s3|')
return `https://s3.mp4upload.com:282/d/${m[0]}/video.mp4`
}
}
const item = new Grab();
export default item;