A SIMPLE MOVIE M3U8 SCRĀPER (TESTED ON VIDSTORM.RU)
just got bored kaya gumawa ng mga ganito, kayo na bahala mag experiment
just got bored kaya gumawa ng mga ganito, kayo na bahala mag experiment

Rich (BB code):
{"data":{"stream":"https://scrennnifu.click/movie/tt4123432/playlist.m3u8"},"success":true}
Python:
# app.py
# free source by: jimyjim
# scrape: https://vidstorm.ru/movie/338953
# yourlink.com/scrape?url=vidstorm_link
# THIS IS IMPORTANT:
# flask
# flask-cors
# playwright
# gunicorn
import time
import os
from flask import Flask, request, jsonify
from flask_cors import CORS
from playwright.sync_api import sync_playwright
app = Flask(__name__)
CORS(app)
playwright = sync_playwright().start()
browser = playwright.chromium.launch(
headless=True,
args=[
"--no-sandbox",
"--disable-setuid-sandbox",
"--disable-dev-shm-usage"
]
)
def super_scraper(target_url):
results = {}
context = browser.new_context(
user_agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 Chrome/124.0.0.0 Safari/537.36"
)
page = context.new_page()
def handle_response(res):
if ".m3u8" in res.url and ("playlist" in res.url or "index" in res.url):
if "stream" not in results:
results["stream"] = res.url
print(f"Captured: {res.url}")
page.on("response", handle_response)
try:
page.goto(target_url, wait_until="domcontentloaded", timeout=90000)
time.sleep(5)
except Exception as e:
print(f"Scraper Error: {e}")
finally:
context.close()
return results
@app.route('/')
def health_check():
return "200", 200
@app.route('/scrape')
def api_scrape():
url = request.args.get('url')
if not url:
return jsonify({"error": "Missing url"}), 400
try:
data = super_scraper(url)
return jsonify({"success": True, "data": data})
except Exception as e:
return jsonify({"error": str(e)})
if __name__ == "__main__":
port = int(os.environ.get("PORT", 5000))
app.run(host="0.0.0.0", port=port)
