Skip to content

Instantly share code, notes, and snippets.

@usanyken
Created April 9, 2020 12:47
Show Gist options
  • Save usanyken/8111aa2108c32fbcda585255bad4d9a4 to your computer and use it in GitHub Desktop.
Save usanyken/8111aa2108c32fbcda585255bad4d9a4 to your computer and use it in GitHub Desktop.
from bs4 import BeautifulSoup
import urllib3
import re
http = urllib3.PoolManager()
url = 'http://ustvgo.net/'
response = http.request('GET', url)
soup = BeautifulSoup(response.data, features="lxml")
page_links = []
# html_page = urllib3.urlopen("http://ustvgo.net/")
# soup = BeautifulSoup(html_page)
# for link in soup.findAll('a', attrs={'href': re.compile("^http://.+live.+?")}):
for link in soup.findAll('a', attrs={'href': re.compile("^http://ustvgo.tv.+?")}):
# print(link.get('href'))
page_links.append(link.get('href'))
page_links = set(page_links)
# print(page_links)
channel_list = [re.split(r".tv/|-channel|-live", i)[1].upper().replace('-', ' ') for i in page_links]
video_links = []
for link in page_links:
response = http.request('GET', link);
html_source = response.data.decode('utf-8')
try:
video_link = re.findall("'(http.*m3u8.*)'", html_source)[0]
except:
video_link =''
video_links.append(video_link)
zip_pair = sorted(zip(channel_list, video_links))
zip_pair = list(filter(lambda t: '' not in t, zip_pair))
file = open("ustvgo.m3u","w")
file.write("#EXTM3U\n\n")
for name,url in zip_pair:
file.write("#EXTINF:-1,"+name+"\n")
file.write(url+"\n")
file.close()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment