def menu(): lover.checkupdates() try: url = urlparse.urljoin(base_domain, 'categories.html') c = client.request(url) soup = BeautifulSoup(c, 'html5lib') content = soup.find('ul', id={'p**n-categories-box'}) if ( not content ): log_utils.log('Scraping Error in %s:: Content of request: %s' % (base_name.title(),str(c)), log_utils.LOGERROR) kodi.notify(msg='Scraping Error: Info Added To Log File', duration=6000, sound=True) quit() except Exception as e: log_utils.log('Fatal Error in %s:: Error: %s' % (base_name.title(),str(e)), log_utils.LOGERROR) kodi.notify(msg='Fatal Error', duration=4000, sound=True) quit() dirlst = [] for a in content.find_all('a'): try: url2 = a['href'] icon = a.img['data-thumb'] title = a.h5.text fanarts = xbmc.translatePath(os.path.join('special://home/addons/script.xxxodus.artwork', 'resources/art/%s/fanart.jpg' % filename)) dirlst.append({'name': title, 'url': url2, 'mode': content_mode, 'icon': icon, 'fanart': fanarts, 'folder': True}) except Exception as e: log_utils.log('Error: %s' % str(e), log_utils.LOGERROR) if dirlst: buildDirectory(dirlst) else: kodi.notify(msg='No Menu Items Found') quit()
def menu(): lover.checkupdates() try: url = urlparse.urljoin(base_domain, 'categories/') c = client.request(url) r = dom_parser2.parse_dom(c, 'a') r = [ i for i in r if '<span class="info videos_count_info">' in i.content ] r = [(i.attrs['href'], \ dom_parser2.parse_dom(i, 'strong', {'class': 'title'}), \ dom_parser2.parse_dom(i, 'b'), \ dom_parser2.parse_dom(i, 'img', req='src')) \ for i in r if i] r = [(i[0], i[1][0].content, i[2][0].content.replace(' ', ','), i[3][0].attrs['src']) for i in r] if (not r): log_utils.log( 'Scraping Error in %s:: Content of request: %s' % (base_name.title(), str(c)), log_utils.LOGERROR) kodi.notify(msg='Scraping Error: Info Added To Log File', duration=6000, sound=True) quit() except Exception as e: log_utils.log( 'Fatal Error in %s:: Error: %s' % (base_name.title(), str(e)), log_utils.LOGERROR) kodi.notify(msg='Fatal Error', duration=4000, sound=True) quit() dirlst = [] for i in r: try: name = kodi.sortX(i[1].encode('utf-8')) name = name.title() + ' - [ %s ]' % i[2] fanarts = xbmc.translatePath( os.path.join('special://home/addons/script.xxxodus.artwork', 'resources/art/%s/fanart.jpg' % filename)) dirlst.append({ 'name': name, 'url': i[0], 'mode': content_mode, 'icon': i[3], 'fanart': fanarts, 'folder': True }) except Exception as e: log_utils.log( 'Error adding menu item %s in %s:: Error: %s' % (i[1].title(), base_name.title(), str(e)), log_utils.LOGERROR) if dirlst: buildDirectory(dirlst) else: kodi.notify(msg='No Menu Items Found') quit()
def menu(): lover.checkupdates() try: url = urlparse.urljoin(base_domain,'/categories/') c = client.request(url) r = re.findall('<ul class="box">(.+?)</ul>',c,flags=re.DOTALL)[0] r = re.findall('<div class="img">(.+?)</div>',r,flags=re.DOTALL) except Exception as e: log_utils.log('Fatal Error in %s:: Error: %s' % (base_name.title(),str(e)), log_utils.LOGERROR) kodi.notify(msg='Fatal Error', duration=4000, sound=True) quit() dirlst = [] for i in r: try: name = re.findall('<span class="title">(.*?)</span>',i, flags=re.DOTALL)[0] url = re.findall('<a href="(.*?)"',i, flags=re.DOTALL)[0] icon = re.findall('<img class="thumb"\s+src="(.*?)"',i, flags=re.DOTALL)[0] fanarts = xbmc.translatePath(os.path.join('special://home/addons/script.xxxodus.artwork', 'resources/art/%s/fanart.jpg' % base_name)) dirlst.append({'name': name, 'url': url,'mode': content_mode, 'icon': icon, 'fanart': fanarts, 'folder': True}) except Exception as e: log_utils.log('Error adding menu item. %s:: Error: %s' % (base_name.title(),str(e)), log_utils.LOGERROR) if dirlst: buildDirectory(dirlst) else: kodi.notify(msg='No Menu Items Found') quit()
def menu(): lover.checkupdates() try: url = urlparse.urljoin(base_domain, 'categories') c = client.request(url) r = dom_parser2.parse_dom(c, 'li', {'class': 'color_change'}) r = [dom_parser2.parse_dom(i, 'a', req='href') for i in r] r = [(urlparse.urljoin(base_domain,i[0].attrs['href']), re.sub('<.+?>', '', i[0].content.replace('(','[ ').replace(')',' ]'))) for i in r if i] if ( not r ): log_utils.log('Scraping Error in %s:: Content of request: %s' % (base_name.title(),str(c)), log_utils.LOGERROR) kodi.notify(msg='Scraping Error: Info Added To Log File', duration=6000, sound=True) quit() except Exception as e: log_utils.log('Fatal Error in %s:: Error: %s' % (base_name.title(),str(e)), log_utils.LOGERROR) kodi.notify(msg='Fatal Error', duration=4000, sound=True) quit() dirlst = [] for i in r: try: name = kodi.sortX(i[1].encode('utf-8')) icon = xbmc.translatePath(os.path.join('special://home/addons/script.xxxodus.artwork', 'resources/art/%s/icon.png' % filename)) fanarts = xbmc.translatePath(os.path.join('special://home/addons/script.xxxodus.artwork', 'resources/art/%s/fanart.jpg' % filename)) dirlst.append({'name': name, 'url': i[0], 'mode': content_mode, 'icon': icon, 'fanart': fanarts, 'folder': True}) except Exception as e: log_utils.log('Error adding menu item %s in %s:: Error: %s' % (i[1].title(),base_name.title(),str(e)), log_utils.LOGERROR) if dirlst: buildDirectory(dirlst) else: kodi.notify(msg='No Menu Items Found') quit()
def menu(): lover.checkupdates() try: url = base_domain c = client.request(url) soup = BeautifulSoup(c,'html.parser') data = soup.find('div', class_={'menu-categories-tabs-container'}) if ( not data ): log_utils.log('Scraping Error in %s:: Content of request: %s' % (base_name.title(),str(c)), log_utils.LOGERROR) kodi.notify(msg='Scraping Error: Info Added To Log File', duration=6000, sound=True) quit() except Exception as e: log_utils.log('Fatal Error in %s:: Error: %s' % (base_name.title(),str(e)), log_utils.LOGERROR) kodi.notify(msg='Fatal Error', duration=4000, sound=True) quit() dirlst = [] for i in data.find_all('a'): try: name = i.text url2 = i['href']+'/videos' if not base_domain in url2: url2=base_domain+url2 icon = xbmc.translatePath(os.path.join('special://home/addons/script.xxxodus.artwork', 'resources/art/%s/icon.png' % filename)) fanarts = xbmc.translatePath(os.path.join('special://home/addons/script.xxxodus.artwork', 'resources/art/%s/fanart.jpg' % filename)) dirlst.append({'name': name, 'url': url2, 'mode': content_mode, 'icon': icon, 'fanart': fanarts, 'folder': True}) except Exception as e: log_utils.log('Error adding menu item %s in %s:: Error: %s' % (i[1].title(),base_name.title(),str(e)), log_utils.LOGERROR) if dirlst: buildDirectory(dirlst) else: kodi.notify(msg='No Menu Items Found') quit()
def menu(): lover.checkupdates() try: url = urlparse.urljoin(base_domain,'/categories/') c = client.request(url) r = re.findall('<li class="border-radius-5 box-shadow">(.*?)</li>',c, flags=re.DOTALL) if ( not r ): log_utils.log('Scraping Error in %s:: Content of request: %s' % (base_name.title(),str(c)), log_utils.LOGERROR) kodi.notify(msg='Scraping Error: Info Added To Log File', duration=6000, sound=True) quit() except Exception as e: log_utils.log('Fatal Error in %s:: Error: %s' % (base_name.title(),str(e)), log_utils.LOGERROR) kodi.notify(msg='Fatal Error', duration=4000, sound=True) quit() dirlst = [] for i in r: try: name = re.findall('title="(.*?)"',i,flags=re.DOTALL)[2] url = re.findall('<a href="(.*?)"',i,flags=re.DOTALL)[0] icon = re.findall('data-lazy-src="(.*?)"',i,flags=re.DOTALL)[0] fanarts = xbmc.translatePath(os.path.join('special://home/addons/script.xxxodus.artwork', 'resources/art/%s/fanart.jpg' % filename)) dirlst.append({'name': name, 'url': url, 'mode': content_mode, 'icon': icon, 'fanart': fanarts, 'folder': True}) except Exception as e: log_utils.log('Error adding menu item %s in %s:: Error: %s' % (i[1].title(),base_name.title(),str(e)), log_utils.LOGERROR) if dirlst: buildDirectory(dirlst) else: kodi.notify(msg='No Menu Items Found') quit()
def menu(): lover.checkupdates() try: url = urlparse.urljoin(base_domain, '/category') c = client.request(url) soup = BeautifulSoup(c, 'html.parser') r = soup.find( 'section', class_={ 'columns is-variable is-1 is-mobile is-multiline small-thumb-list lazy-load' }) if (not r): log_utils.log( 'Scraping Error in %s:: Content of request: %s' % (base_name.title(), str(c)), log_utils.LOGERROR) kodi.notify(msg='Scraping Error: Info Added To Log File', duration=6000, sound=True) quit() except Exception as e: log_utils.log( 'Fatal Error in %s:: Error: %s' % (base_name.title(), str(e)), log_utils.LOGERROR) kodi.notify(msg='Fatal Error', duration=4000, sound=True) quit() dirlst = [] for i in r.find_all('a'): try: name = i.img['alt'] icon = i.img['src'] if 'no-minithumb' in icon: icon = i.img['data-src'] url2 = i['href'] if not base_domain in url2: url2 = base_domain + url2 if not 'http' in icon: icon = 'http:' + icon fanarts = xbmc.translatePath( os.path.join('special://home/addons/script.xxxodus.artwork', 'resources/art/%s/fanart.jpg' % filename)) dirlst.append({ 'name': name, 'url': url2, 'mode': content_mode, 'icon': icon, 'fanart': fanarts, 'folder': True }) except Exception as e: log_utils.log( 'Error adding menu item %s in %s:: Error: %s' % (i[1].title(), base_name.title(), str(e)), log_utils.LOGERROR) if dirlst: buildDirectory(dirlst) else: kodi.notify(msg='No Menu Items Found') quit()
def menu(): lover.checkupdates() try: url = base_domain c = client.request(url) r = dom_parser2.parse_dom(c, 'li') r = dom_parser2.parse_dom(r, 'a', req='title') r = [(urlparse.urljoin(base_domain, i.attrs['href']), i.content) for i in r if '/tag' in i.attrs['href']] if (not r): log_utils.log( 'Scraping Error in %s:: Content of request: %s' % (base_name.title(), str(c)), log_utils.LOGERROR) kodi.notify(msg='Scraping Error: Info Added To Log File', duration=6000, sound=True) quit() except Exception as e: log_utils.log( 'Fatal Error in %s:: Error: %s' % (base_name.title(), str(e)), log_utils.LOGERROR) kodi.notify(msg='Fatal Error', duration=4000, sound=True) quit() dirlst = [] if r: for i in r: try: iconimage = xbmc.translatePath( os.path.join( 'special://home/addons/script.xxxodus.artwork', 'resources/art/%s/icon.png' % filename)) fanarts = xbmc.translatePath( os.path.join( 'special://home/addons/script.xxxodus.artwork', 'resources/art/%s/fanart.jpg' % filename)) name = kodi.sortX(i[1].encode('utf-8')) if not '/young' in name: dirlst.append({ 'name': name, 'url': i[0], 'mode': content_mode, 'icon': iconimage, 'fanart': fanarts, 'folder': True }) except Exception as e: log_utils.log( 'Error adding menu item %s in %s:: Error: %s' % (i[1].title(), base_name.title(), str(e)), log_utils.LOGERROR) if dirlst: buildDirectory(dirlst) else: kodi.notify(msg='No Menu Items Found') quit()
def menu(): lover.checkupdates() try: url = urlparse.urljoin(base_domain, 'categories') c = client.request(url) r = re.findall('<div class="category_item_wrapper">(.*?)</div>', c, flags=re.DOTALL) if (not r): log_utils.log( 'Scraping Error in %s:: Content of request: %s' % (base_name.title(), str(c)), log_utils.LOGERROR) kodi.notify(msg='Scraping Error: Info Added To Log File', duration=6000, sound=True) quit() except Exception as e: log_utils.log( 'Fatal Error in %s:: Error: %s' % (base_name.title(), str(e)), log_utils.LOGERROR) kodi.notify(msg='Fatal Error', duration=4000, sound=True) quit() dirlst = [] for i in r: try: name = re.findall('<strong>(.*?)</strong>', i, flags=re.DOTALL)[0].strip() url = re.findall('<a href="(.*?)"', i, flags=re.DOTALL)[0] if not base_domain in url: url = base_domain + url icon = re.findall('data-thumb_url="(.*?)"', i, flags=re.DOTALL)[0] desc = re.findall('<span class="category_count">(.*?)</span>', i, flags=re.DOTALL)[0].strip() fanarts = xbmc.translatePath( os.path.join('special://home/addons/script.xxxodus.artwork', 'resources/art/%s/fanart.jpg' % filename)) dirlst.append({ 'name': name, 'url': url, 'mode': content_mode, 'icon': icon, 'fanart': fanarts, 'description': desc, 'folder': True }) except Exception as e: log_utils.log( 'Error adding menu item %s in %s:: Error: %s' % (i[1].title(), base_name.title(), str(e)), log_utils.LOGERROR) if dirlst: buildDirectory(dirlst) else: kodi.notify(msg='No Menu Items Found') quit()
def menu(): lover.checkupdates() try: url = urlparse.urljoin(base_domain, 'categories/') c = client.request(url) soup = BeautifulSoup(c, 'html5lib') r = soup.find('div', class_={'categories-tags-holder'}) if (not r): log_utils.log( 'Scraping Error in %s:: Content of request: %s' % (base_name.title(), str(c)), log_utils.LOGERROR) kodi.notify(msg='Scraping Error: Info Added To Log File', duration=6000, sound=True) quit() except Exception as e: log_utils.log( 'Fatal Error in %s:: Error: %s' % (base_name.title(), str(e)), log_utils.LOGERROR) kodi.notify(msg='Fatal Error', duration=4000, sound=True) quit() dirlst = [] for li in r.find_all('li'): try: title = li.find('div', class_={'text'}).text url2 = li.a['href'] videos = li.span.text icon = xbmc.translatePath( os.path.join('special://home/addons/script.xxxodus.artwork', 'resources/art/%s/icon.png' % filename)) name = ('%s | [COLOR yellow]%s[/COLOR]' % (title, videos)) fanarts = xbmc.translatePath( os.path.join('special://home/addons/script.xxxodus.artwork', 'resources/art/%s/fanart.jpg' % filename)) dirlst.append({ 'name': name, 'url': url2, 'mode': content_mode, 'icon': icon, 'fanart': fanarts, 'folder': True }) except Exception as e: log_utils.log( 'Error adding menu item %s in %s:: Error: %s' % (i[1].title(), base_name.title(), str(e)), log_utils.LOGERROR) if dirlst: buildDirectory(dirlst) else: kodi.notify(msg='No Menu Items Found') quit()
def menu(): lover.checkupdates() try: url = base_domain scraper = cfscrape.create_scraper() c = scraper.get(url).content r = dom_parser2.parse_dom(c, 'ul', {'id': 'categorias'}) r = dom_parser2.parse_dom(r, 'a') r = [(i.attrs['href'], i.content) for i in r if i] if (not r): log_utils.log( 'Scraping Error in %s:: Content of request: %s' % (base_name.title(), str(c)), log_utils.LOGERROR) kodi.notify(msg='Scraping Error: Info Added To Log File', duration=6000, sound=True) quit() except Exception as e: log_utils.log( 'Fatal Error in %s:: Error: %s' % (base_name.title(), str(e)), log_utils.LOGERROR) kodi.notify(msg='Fatal Error', duration=4000, sound=True) quit() dirlst = [] for i in r: try: name = kodi.sortX(i[1].encode('utf-8')).title() icon = xbmc.translatePath( os.path.join('special://home/addons/script.xxxodus.artwork', 'resources/art/%s/icon.png' % filename)) fanarts = xbmc.translatePath( os.path.join('special://home/addons/script.xxxodus.artwork', 'resources/art/%s/fanart.jpg' % filename)) dirlst.append({ 'name': name, 'url': i[0], 'mode': content_mode, 'icon': icon, 'fanart': fanarts, 'folder': True }) except Exception as e: log_utils.log( 'Error adding menu item %s in %s:: Error: %s' % (i[1].title(), base_name.title(), str(e)), log_utils.LOGERROR) if dirlst: buildDirectory(dirlst) else: kodi.notify(msg='No Menu Items Found') quit()
def menu(): lover.checkupdates() try: url = urlparse.urljoin(base_domain, 'channels/') c = client.request(url) r = dom_parser2.parse_dom( c, 'div', {'class': ['item-col', 'item--channel', 'col']}) r = [(dom_parser2.parse_dom(i, 'a', req=['href','title']), \ dom_parser2.parse_dom(i, 'img', req='src')) \ for i in r if i] r = [(i[0][0].attrs['href'], i[0][0].attrs['title'], i[1][0].attrs['src'] \ if i[1] else urlparse.urljoin(base_domain,'core/images/catdefault.jpg')) for i in r[8:]] if (not r): log_utils.log( 'Scraping Error in %s:: Content of request: %s' % (base_name.title(), str(c)), log_utils.LOGERROR) kodi.notify(msg='Scraping Error: Info Added To Log File', duration=6000, sound=True) quit() except Exception as e: log_utils.log( 'Fatal Error in %s:: Error: %s' % (base_name.title(), str(e)), log_utils.LOGERROR) kodi.notify(msg='Fatal Error', duration=4000, sound=True) quit() dirlst = [] for i in r: try: name = kodi.sortX(i[1].encode('utf-8')) fanarts = xbmc.translatePath( os.path.join('special://home/addons/script.xxxodus.artwork', 'resources/art/%s/fanart.jpg' % filename)) dirlst.append({ 'name': name, 'url': i[0], 'mode': content_mode, 'icon': i[2], 'fanart': fanarts, 'folder': True }) except Exception as e: log_utils.log( 'Error adding menu item %s in %s:: Error: %s' % (i[1].title(), base_name.title(), str(e)), log_utils.LOGERROR) if dirlst: buildDirectory(dirlst) else: kodi.notify(msg='No Menu Items Found') quit()
def menu(): lover.checkupdates() try: url = urlparse.urljoin(base_domain, 'categories') c = client.request(url) r = re.findall( '<div class="categories_list p**n-categories sixteen-column action">(.*?)id="countryFlags">', c, flags=re.DOTALL)[0] pattern = '''<a href="(.*?)".+?data-original="(.*?)".+?<p>(.*?)</p>''' matches = re.findall(pattern, r, flags=re.DOTALL) if (not r): log_utils.log( 'Scraping Error in %s:: Content of request: %s' % (base_name.title(), str(c)), log_utils.LOGERROR) kodi.notify(msg='Scraping Error: Info Added To Log File', duration=6000, sound=True) quit() except Exception as e: log_utils.log( 'Fatal Error in %s:: Error: %s' % (base_name.title(), str(e)), log_utils.LOGERROR) kodi.notify(msg='Fatal Error', duration=4000, sound=True) quit() dirlst = [] for link, icon, name in matches: try: if not base_domain in link: link = base_domain + link fanarts = xbmc.translatePath( os.path.join('special://home/addons/script.xxxodus.artwork', 'resources/art/%s/fanart.jpg' % filename)) dirlst.append({ 'name': name, 'url': link, 'mode': content_mode, 'icon': icon, 'fanart': fanarts, 'folder': True }) except Exception as e: log_utils.log( 'Error adding menu item %s in %s:: Error: %s' % (i[1].title(), base_name.title(), str(e)), log_utils.LOGERROR) if dirlst: buildDirectory(dirlst) else: kodi.notify(msg='No Menu Items Found') quit()
def menu(): lover.checkupdates() try: url = base_domain c = client.request(url) r = re.findall('<div class="item-block item-normal col" >(.+?)</div>', c, flags=re.DOTALL) except Exception as e: log_utils.log( 'Fatal Error in %s:: Error: %s' % (base_name.title(), str(e)), log_utils.LOGERROR) kodi.notify(msg='Fatal Error', duration=4000, sound=True) quit() dirlst = [] searched = False for i in r: try: url2 = re.findall('<a href="(.*?)"', i, flags=re.DOTALL)[0] name = re.findall('title="(.*?)"', i, flags=re.DOTALL)[0] icon = re.findall('<img src="(.*?)"', i, flags=re.DOTALL)[0] if not base_domain in url2: url2 = base_domain + url2 fanarts = xbmc.translatePath( os.path.join('special://home/addons/script.xxxodus.artwork', 'resources/art/%s/fanart.jpg' % base_name)) dirlst.append({ 'name': name, 'url': url2, 'mode': player_mode, 'icon': icon, 'fanart': fanarts, 'folder': False }) except Exception as e: log_utils.log( 'Error adding menu item. %s:: Error: %s' % (base_name.title(), str(e)), log_utils.LOGERROR) if dirlst: buildDirectory(dirlst, stopend=True, isVideo=True, isDownloadable=True) else: if (not searched): kodi.notify(msg='No Content Found') quit() #if searched: return str(len(r)) if not searched: search_pattern = '''<a\s+href=['"]([^'"]+)['"]\s+class=['"]next['"]''' parse = base_domain helper.scraper().get_next_page(content_mode, url, search_pattern, filename, parse)
def menu(): lover.checkupdates() try: url = urlparse.urljoin(base_domain, 'categories') c = client.request(url) r = re.findall('<ul class="allcats page clearfix">(.*?)</ul>', c, flags=re.DOTALL)[0] pattern = r""".+?<a\s*href=['"]([^'"]+).+?>([^'"]+)<""" r = re.findall(pattern, r, flags=re.DOTALL) if (not r): log_utils.log( 'Scraping Error in %s:: Content of request: %s' % (base_name.title(), str(c)), log_utils.LOGERROR) kodi.notify(msg='Scraping Error: Info Added To Log File', duration=6000, sound=True) quit() except Exception as e: log_utils.log( 'Fatal Error in %s:: Error: %s' % (base_name.title(), str(e)), log_utils.LOGERROR) kodi.notify(msg='Fatal Error', duration=4000, sound=True) quit() dirlst = [] for url, name in r: try: if not base_domain in url: url = base_domain + url icon = xbmc.translatePath( os.path.join('special://home/addons/script.xxxodus.artwork', 'resources/art/%s/icon.png' % filename)) fanarts = xbmc.translatePath( os.path.join('special://home/addons/script.xxxodus.artwork', 'resources/art/%s/fanart.jpg' % filename)) dirlst.append({ 'name': name, 'url': url, 'mode': content_mode, 'icon': icon, 'fanart': fanarts, 'folder': True }) except: pass if dirlst: buildDirectory(dirlst) else: kodi.notify(msg='No Menu Items Found') quit()
def menu(): lover.checkupdates() try: url = urlparse.urljoin(base_domain, 'categories') c = client.request(url) soup = BeautifulSoup(c, 'html.parser') r = soup.find('ul', id={'categories_list_block'}) if (not r): log_utils.log( 'Scraping Error in %s:: Content of request: %s' % (base_name.title(), str(c)), log_utils.LOGERROR) kodi.notify(msg='Scraping Error: Info Added To Log File', duration=6000, sound=True) quit() except Exception as e: log_utils.log( 'Fatal Error in %s:: Error: %s' % (base_name.title(), str(e)), log_utils.LOGERROR) kodi.notify(msg='Fatal Error', duration=4000, sound=True) quit() dirlst = [] for i in r.find_all('a', class_={'category_thumb_link'}): try: name = i.img['alt'] url2 = i['href'] icon = i.img['data-src'] if not base_domain in url2: url2 = base_domain + url2 desc = name fanarts = xbmc.translatePath( os.path.join('special://home/addons/script.xxxodus.artwork', 'resources/art/%s/fanart.jpg' % filename)) dirlst.append({ 'name': name, 'url': url2, 'mode': content_mode, 'icon': icon, 'fanart': fanarts, 'description': desc, 'folder': True }) except Exception as e: pass if dirlst: buildDirectory(dirlst) else: kodi.notify(msg='No Menu Items Found') quit()
def menu(): lover.checkupdates() try: url = urlparse.urljoin(base_domain, 'categories') c = client.request(url) soup = BeautifulSoup(c, 'html.parser') r = soup.find_all('div', class_={'categories-row'}) if (not r): log_utils.log( 'Scraping Error in %s:: Content of request: %s' % (base_name.title(), str(c)), log_utils.LOGERROR) kodi.notify(msg='Scraping Error: Info Added To Log File', duration=6000, sound=True) quit() except Exception as e: log_utils.log( 'Fatal Error in %s:: Error: %s' % (base_name.title(), str(e)), log_utils.LOGERROR) kodi.notify(msg='Fatal Error', duration=4000, sound=True) quit() dirlst = [] for i in r: try: name = i.p.text.strip().replace('\n', ' ').encode('utf-8') url2 = i.a['href'] icon = i.img['data-original'] if not base_domain in url2: url2 = base_domain + url2 fanarts = xbmc.translatePath( os.path.join('special://home/addons/script.xxxodus.artwork', 'resources/art/%s/fanart.jpg' % filename)) dirlst.append({ 'name': name, 'url': url2, 'mode': content_mode, 'icon': icon, 'fanart': fanarts, 'folder': True }) except Exception as e: log_utils.log( 'Error adding menu item %s in %s:: Error: %s' % (i[1].title(), base_name.title(), str(e)), log_utils.LOGERROR) if dirlst: buildDirectory(dirlst) else: kodi.notify(msg='No Menu Items Found') quit()
def menu(): lover.checkupdates() url = base_domain content(url) try: url = base_domain c = client.request(url) soup = BeautifulSoup(c, 'html.parser') r = soup.find_all('div', class_={'item thumb'}) except Exception as e: log_utils.log( 'Fatal Error in %s:: Error: %s' % (base_name.title(), str(e)), log_utils.LOGERROR) kodi.notify(msg='Fatal Error', duration=4000, sound=True) quit() dirlst = [] searched = False for i in r: try: name = i.img['alt'] url2 = i.a['href'] icon = i.img['data-src'] fanarts = xbmc.translatePath( os.path.join('special://home/addons/script.xxxodus.artwork', 'resources/art/%s/fanart.jpg' % base_name)) dirlst.append({ 'name': name, 'url': url2, 'mode': player_mode, 'icon': icon, 'fanart': fanarts, 'folder': False }) except Exception as e: log_utils.log( 'Error adding menu item. %s:: Error: %s' % (base_name.title(), str(e)), log_utils.LOGERROR) if dirlst: buildDirectory(dirlst, stopend=True, isVideo=True, isDownloadable=True) else: if (not searched): kodi.notify(msg='No Content Found') quit() #if searched: return str(len(r)) if not searched: search_pattern = '''<a\s+href=['"]([^'"]+)['"].*?Next''' parse = base_domain helper.scraper().get_next_page(content_mode, url, search_pattern, filename, parse)
def menu(): lover.checkupdates() try: url = 'https://www.ghettotube.com/categories/' c = requests.get(url, headers=headers).content soup = BeautifulSoup(c, 'html.parser') r = soup.find_all('div', class_={'thumb-ratio'}) if (not r): log_utils.log( 'Scraping Error in %s:: Content of request: %s' % (base_name.title(), str(c)), log_utils.LOGERROR) kodi.notify(msg='Scraping Error: Info Added To Log File', duration=6000, sound=True) quit() except Exception as e: log_utils.log( 'Fatal Error in %s:: Error: %s' % (base_name.title(), str(e)), log_utils.LOGERROR) kodi.notify(msg='Fatal Error', duration=4000, sound=True) quit() dirlst = [] for i in r: try: name = i.img['title'] url2 = i.a['href'] icon = i.img['src'] fanarts = xbmc.translatePath( os.path.join('special://home/addons/script.xxxodus.artwork', 'resources/art/%s/fanart.jpg' % filename)) dirlst.append({ 'name': name, 'url': url2, 'mode': content_mode, 'icon': icon, 'fanart': fanarts, 'folder': True }) except Exception as e: log_utils.log( 'Error adding menu item %s in %s:: Error: %s' % (name, base_name.title(), str(e)), log_utils.LOGERROR) if dirlst: buildDirectory(dirlst) else: kodi.notify(msg='No Menu Items Found') quit()
def menu(): lover.checkupdates() try: url = urlparse.urljoin(base_domain, 'categories') c = client.request(url) match = re.findall('<section class="box feature">(.+?)</section>', c, flags=re.DOTALL) except Exception as e: log_utils.log( 'Fatal Error in %s:: Error: %s' % (base_name.title(), str(e)), log_utils.LOGERROR) kodi.notify(msg='Fatal Error', duration=4000, sound=True) quit() dirlst = [] for items in match: try: name = re.findall('alt="(.*?)"', items, flags=re.DOTALL)[0] name = name.title() url = re.findall('<a href="(.*?)"', items, flags=re.DOTALL)[0] icon = re.findall('<img src="(.*?)"', items, flags=re.DOTALL)[0] #if not base_domain in icon: icon = base_domain+icon #if not 'http' in icon: icon = 'http:'+icon fanarts = xbmc.translatePath( os.path.join('special://home/addons/script.xxxodus.artwork', 'resources/art/%s/fanart.jpg' % filename)) #desc = re.findall('<p>(.*?)</p>', items, flags=re.DOTALL)[0] if not 'https:' in url: url = 'https://hqporner.com/' + url if not 'http:' in icon: icon = 'https:' + icon + '|verifypeer=false' dirlst.append({ 'name': name, 'url': url, 'mode': content_mode, 'icon': icon, 'fanart': fanarts, 'folder': True }) except Exception as e: log_utils.log( 'Error adding menu item. %s:: Error: %s' % (base_name.title(), str(e)), log_utils.LOGERROR) if dirlst: buildDirectory(dirlst) else: kodi.notify(msg='No Menu Items Found') quit()
def menu(): lover.checkupdates() try: url = urlparse.urljoin(base_domain, 'categories/') c = client.request(url) r = re.findall( '<ul class="ubox-ul">(.*?)<div id="tab2"\s+class="tab">', c, flags=re.DOTALL)[0] pattern = """<a\s+href=['"]([^'"]+)['"]>(.*?)<.+?>(.*?)<""" r = re.findall(pattern, r) except Exception as e: log_utils.log( 'Fatal Error in %s:: Error: %s' % (base_name.title(), str(e)), log_utils.LOGERROR) kodi.notify(msg='Fatal Error', duration=4000, sound=True) quit() dirlst = [] for url, name, number in r: try: if base_domain not in url: url = base_domain + url number = number.strip() icon = xbmc.translatePath( os.path.join('special://home/addons/script.xxxodus.artwork', 'resources/art/%s/icon.png' % base_name)) fanarts = xbmc.translatePath( os.path.join('special://home/addons/script.xxxodus.artwork', 'resources/art/%s/fanart.jpg' % base_name)) dirlst.append({ 'name': name + '[COLOR yellow] ' + number + ' Videos[/COLOR]', 'url': url, 'mode': content_mode, 'icon': icon, 'fanart': fanarts, 'folder': True }) except Exception as e: log_utils.log( 'Error adding menu item. %s:: Error: %s' % (base_name.title(), str(e)), log_utils.LOGERROR) if dirlst: buildDirectory(dirlst) else: kodi.notify(msg='No Menu Items Found') quit()
def menu(): lover.checkupdates() try: url = urlparse.urljoin(base_domain, '/category') c = client.request(url) soup = BeautifulSoup(c, 'html5lib') r = soup.find('ul', class_={'category__list category__list_all'}) except Exception as e: log_utils.log( 'Fatal Error in %s:: Error: %s' % (base_name.title(), str(e)), log_utils.LOGERROR) kodi.notify(msg='Fatal Error', duration=4000, sound=True) quit() dirlst = [] for data in r.find_all('li'): try: title = data.p.text link2 = data.a['href'] if base_domain not in link2: link2 = base_domain + link2 link2 = link2 + '/videos/top-rated/' icon = data.find('div', class_={'category__img'})['style'] icon = re.findall('''(http[^'"]+)''', icon)[0] #icon = xbmc.translatePath(os.path.join('special://home/addons/script.xxxodus.artwork', 'resources/art/%s/icon.png' % base_name)) fanarts = xbmc.translatePath( os.path.join('special://home/addons/script.xxxodus.artwork', 'resources/art/%s/fanart.jpg' % base_name)) dirlst.append({ 'name': title, 'url': link2, 'mode': content_mode, 'icon': icon, 'fanart': fanarts, 'folder': True }) except Exception as e: log_utils.log( 'Error adding menu item. %s:: Error: %s' % (base_name.title(), str(e)), log_utils.LOGERROR) if dirlst: buildDirectory(dirlst) else: kodi.notify(msg='No Menu Items Found') quit()
def menu(): lover.checkupdates() try: url = base_domain + '/categories' c = client.request(url) soup = BeautifulSoup(c, 'html5lib') r = soup.find_all('div', class_={'categories-list__right'}) except Exception as e: log_utils.log( 'Fatal Error in %s:: Error: %s' % (base_name.title(), str(e)), log_utils.LOGERROR) kodi.notify(msg='Fatal Error', duration=4000, sound=True) quit() dirlst = [] for i in r: try: title = i.find('a').span['data-title'].title() url2 = i.a['href'] if not base_domain in url2: url2 = base_domain + url2 icon = xbmc.translatePath( os.path.join('special://home/addons/script.xxxodus.artwork', 'resources/art/%s/icon.png' % filename)) fanarts = xbmc.translatePath( os.path.join('special://home/addons/script.xxxodus.artwork', 'resources/art/%s/fanart.jpg' % base_name)) dirlst.append({ 'name': title, 'url': url2, 'mode': content_mode, 'icon': icon, 'fanart': fanarts, 'folder': True }) except Exception as e: log_utils.log( 'Error adding menu item. %s:: Error: %s' % (base_name.title(), str(e)), log_utils.LOGERROR) if dirlst: buildDirectory(dirlst) else: kodi.notify(msg='No Menu Items Found') quit()
def menu(): lover.checkupdates() try: url = base_domain c = client.request(url) r = re.findall('<li class="list__item side-cats__item"(.*?)</li>', c) except Exception as e: log_utils.log( 'Fatal Error in %s:: Error: %s' % (base_name.title(), str(e)), log_utils.LOGERROR) kodi.notify(msg='Fatal Error', duration=4000, sound=True) quit() dirlst = [] for i in r: try: name = re.findall('title="(.*?)"', i)[0] url = re.findall('href="(.*?)"', i)[0] if not base_domain in url: url = base_domain + url number = re.findall('data-total-videos="(.*?)"', i)[0] icon = xbmc.translatePath( os.path.join('special://home/addons/script.xxxodus.artwork', 'resources/art/%s/icon.png' % base_name)) fanarts = xbmc.translatePath( os.path.join('special://home/addons/script.xxxodus.artwork', 'resources/art/%s/fanart.jpg' % base_name)) dirlst.append({ 'name': name + '[COLOR yellow] [ ' + number + ' ][/COLOR]', 'url': url, 'mode': content_mode, 'icon': icon, 'fanart': fanarts, 'folder': True }) except Exception as e: log_utils.log( 'Error adding menu item. %s:: Error: %s' % (base_name.title(), str(e)), log_utils.LOGERROR) if dirlst: buildDirectory(dirlst) else: kodi.notify(msg='No Menu Items Found') quit()
def menu(): lover.checkupdates() try: url = base_domain c = client.request(url) r = re.findall( '<div class="col-sm-4"><a\s+href="(.*?)"\s+title="(.*?)"', c, flags=re.DOTALL) except Exception as e: log_utils.log( 'Fatal Error in %s:: Error: %s' % (base_name.title(), str(e)), log_utils.LOGERROR) kodi.notify(msg='Fatal Error', duration=4000, sound=True) quit() dirlst = [] for url, name in r: try: if base_domain not in url: url = base_domain + url icon = xbmc.translatePath( os.path.join('special://home/addons/script.xxxodus.artwork', 'resources/art/%s/icon.png' % base_name)) fanarts = xbmc.translatePath( os.path.join('special://home/addons/script.xxxodus.artwork', 'resources/art/%s/fanart.jpg' % base_name)) dirlst.append({ 'name': name, 'url': url, 'mode': content_mode, 'icon': icon, 'fanart': fanarts, 'folder': True }) except Exception as e: log_utils.log( 'Error adding menu item. %s:: Error: %s' % (base_name.title(), str(e)), log_utils.LOGERROR) if dirlst: buildDirectory(dirlst) else: kodi.notify(msg='No Menu Items Found') quit()
def menu(): lover.checkupdates() url = urlparse.urljoin(base_domain, '0') content_type = 'dir' title_pattern = '''<strong>([^<]+)''' url_pattern = '''href="([^"]+)''' icon_pattern = None d_p1 = 'li' d_p2 = 'class' d_p3 = '' parse = '%s|SPLIT|url' % base_domain cache_time = 4 helper.scraper().get_list(content_mode, content_type, url, title_pattern, url_pattern, icon_pattern, filename, d_p1, d_p2, d_p3, parse, cache_time)
def menu(): lover.checkupdates() try: url = base_domain c = client.request(url) r = re.findall('<div class="container">(.*?)</section>', c, flags=re.DOTALL)[0] regex = '''<a\s+href=['"](.*?)['"].+?\s+.+?\s+.+src=['"]([^'"]+)['"].+?\s+.+?.+\s+.+\s+.+?>(.*?)<''' r = re.findall(regex, r) except Exception as e: log_utils.log( 'Fatal Error in %s:: Error: %s' % (base_name.title(), str(e)), log_utils.LOGERROR) kodi.notify(msg='Fatal Error', duration=4000, sound=True) quit() dirlst = [] for url2, icon, name in r: try: if not base_domain in url2: url2 = base_domain + url2 fanarts = xbmc.translatePath( os.path.join('special://home/addons/script.xxxodus.artwork', 'resources/art/%s/fanart.jpg' % filename)) dirlst.append({ 'name': name, 'url': url2, 'mode': content_mode, 'icon': icon, 'fanart': fanarts, 'folder': True }) except Exception as e: log_utils.log( 'Error adding menu item %s in %s:: Error: %s' % (i[1].title(), base_name.title(), str(e)), log_utils.LOGERROR) if dirlst: buildDirectory(dirlst) else: kodi.notify(msg='No Menu Items Found') quit()
def menu(): lover.checkupdates() try: url = urlparse.urljoin(base_domain,'video') c = client.request(url) r = dom_parser2.parse_dom(c, 'a', {'class': 'sidebar_section_item'}) r = [i for i in r if 'channels' in i.attrs['href']] r = [(urlparse.urljoin(base_domain,i.attrs['href']), i.content + ' - [ Professional ]') for i in r] url = urlparse.urljoin(base_domain,'amateur/videos/') c = client.request(url) e = dom_parser2.parse_dom(c, 'a', {'class': 'sidebar_section_item'}) e = [i for i in e if 'channels' in i.attrs['href']] r += [(urlparse.urljoin(base_domain,i.attrs['href']), i.content + ' - [ Amateur ]') for i in e] r = sorted(r, key=lambda x: x[1]) if ( not r ): log_utils.log('Scraping Error in %s:: Content of request: %s' % (base_name.title(),str(c)), log_utils.LOGERROR) kodi.notify(msg='Scraping Error: Info Added To Log File', duration=6000, sound=True) quit() except Exception as e: log_utils.log('Fatal Error in %s:: Error: %s' % (base_name.title(),str(e)), log_utils.LOGERROR) kodi.notify(msg='Fatal Error', duration=4000, sound=True) quit() dirlst = [] urls = [] for i in r: try: name = i[1] icon = xbmc.translatePath(os.path.join('special://home/addons/script.xxxodus.artwork', 'resources/art/%s/icon.png' % filename)) fanarts = xbmc.translatePath(os.path.join('special://home/addons/script.xxxodus.artwork', 'resources/art/%s/fanart.jpg' % filename)) dirlst.append({'name': name, 'url': i[0], 'mode': content_mode, 'icon': icon, 'fanart': fanarts, 'folder': True}) except Exception as e: log_utils.log('Error adding menu item %s in %s:: Error: %s' % (i[1].title(),base_name.title(),str(e)), log_utils.LOGERROR) if dirlst: buildDirectory(dirlst) else: kodi.notify(msg='No Menu Items Found') quit()
def menu(): lover.checkupdates() try: url = urlparse.urljoin(base_domain,'pick-your-poison') c = client.request(url) r = dom_parser2.parse_dom(c, 'div', {'class': ['taglist','tags-links']}) r = dom_parser2.parse_dom(r, 'span', {'class': 'tooltip-wrapper'}) r = [(i.attrs['data-tooltip'], \ dom_parser2.parse_dom(i, 'a')) \ for i in r if i] r = [(i[1][0].attrs['href'], i[1][0].content, i[0]) for i in r if i] if ( not r ): log_utils.log('Scraping Error in %s:: Content of request: %s' % (base_name.title(),str(c)), log_utils.LOGERROR) kodi.notify(msg='Scraping Error: Info Added To Log File', duration=6000, sound=True) quit() except Exception as e: log_utils.log('Fatal Error in %s:: Error: %s' % (base_name.title(),str(e)), log_utils.LOGERROR) kodi.notify(msg='Fatal Error', duration=4000, sound=True) quit() dirlst = [] for i in r: try: name = kodi.sortX(i[1].encode('utf-8')) icon = xbmc.translatePath(os.path.join('special://home/addons/script.xxxodus.artwork', 'resources/art/%s/icon.png' % filename)) fanarts = xbmc.translatePath(os.path.join('special://home/addons/script.xxxodus.artwork', 'resources/art/%s/fanart.jpg' % filename)) dirlst.append({'name': name, 'url': i[0], 'mode': content_mode, 'icon': icon, 'fanart': fanarts, 'description': i[2], 'folder': True}) except Exception as e: log_utils.log('Error adding menu item %s in %s:: Error: %s' % (i[1].title(),base_name.title(),str(e)), log_utils.LOGERROR) if dirlst: buildDirectory(dirlst) else: kodi.notify(msg='No Menu Items Found') quit()
def menu(): lover.checkupdates() try: headers = {'User-Agent': 'Google Chrome Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36'} url = urlparse.urljoin(base_domain,'tags') c = client.request(url, headers=headers) soup = BeautifulSoup(c,'html.parser') r = soup.find('ul', class_={'tags clearfix'}) if ( not r ): log_utils.log('Scraping Error in %s:: Content of request: %s' % (base_name.title(),str(c)), log_utils.LOGERROR) kodi.notify(msg='Scraping Error: Info Added To Log File', duration=6000, sound=True) quit() except Exception as e: log_utils.log('Fatal Error in %s:: Error: %s' % (base_name.title(),str(e)), log_utils.LOGERROR) kodi.notify(msg='Fatal Error', duration=4000, sound=True) quit() dirlst = [] for i in r.find_all('li'): try: name = i.a.text url2 = i.a['href'] if not base_domain in url2: url2=base_domain+url2 icon = xbmc.translatePath(os.path.join('special://home/addons/script.xxxodus.artwork', 'resources/art/%s/icon.png' % filename)) fanarts = xbmc.translatePath(os.path.join('special://home/addons/script.xxxodus.artwork', 'resources/art/%s/fanart.jpg' % filename)) if not ' ' in name: dirlst.append({'name': name, 'url': url2, 'mode': content_mode, 'icon': icon, 'fanart': fanarts, 'folder': True}) except Exception as e: log_utils.log('Error adding menu item %s in %s:: Error: %s' % (i[1].title(),base_name.title(),str(e)), log_utils.LOGERROR) if dirlst: buildDirectory(dirlst) else: kodi.notify(msg='No Menu Items Found') quit()