def parse_video_tags(self, soup: BeautifulSoup, url: URL): # info_box=soup.find('div',{'class':'content-container'}) for info_box in _iter( soup.find_all('div', {'class': 'content-container'})): # psp(info_box.prettify()) for href in _iter(info_box.find_all('a', href=True)): psp(href.prettify()) label = collect_string(href) href_url = URL(href.attrs['href'], base_url=url) print(label, href_url) color = None if href_url.contain('/users/'): color = 'blue' href_url = URL(href_url.get() + '/videos/public/') if href_url.contain('/pornstar/'): color = 'red' self.add_tag(label, href_url, style=dict(color=color))
def parse_video_tags(self, soup: BeautifulSoup, url: URL): container = soup.find('div', {'class': 'extra-detail'}) # psp(container.prettify()) for values in _iter(container.find_all('div', {'class': 'values'})): for xref in _iter(values.find_all('a')): # psp(xref) href = URL(xref.attrs['href'], base_url=url) if href.contain('/pornstar/'): style = dict(color='red') else: style = None self.add_tag(str(xref.string), href, style=style)
def parse_video(self, soup: BeautifulSoup, url: URL): head = soup.find('head') if head: script = head.find('script', text=lambda x: 'streams:' in str(x)) if script is not None: data = str(script).replace(' ', '') sources = quotes(data, 'streams:[{', '}]').split('},{') for f in sources: label = quotes(f, 'id:"', '"') url = URL(quotes(f, 'url:"', '"'), base_url=url) if url.contain('.mp4'): self.add_video(label, url) self.set_default_video(-1)
def continue_parse_video_tags(self, fldata: FLData): # print(fldata.text) soup = BeautifulSoup(fldata.text, 'html.parser') # psp(soup.prettify()) for data in _iter(soup.find_all('div', {'class': 'ibData'})): for xref in _iter(data.find_all('a')): # psp(xref) href = URL(xref.attrs['href'], base_url=fldata.url) if href.contain('/pornstar/'): style = dict(color='red') else: style = None self.add_tag(str(xref.string), href, style=style) self.waiting_data = False self.generate_video_view()
def can_accept_url(url: URL) -> bool: return url.contain('yourporn.sexy/')
def can_accept_url(url: URL) -> bool: return url.contain('motherless.com/')
def can_accept_url(url: URL) -> bool: return url.contain('deviantclip.com/')
def can_accept_url(url: URL) -> bool: return url.contain('spankwire.com/')
def can_accept_url(url: URL) -> bool: return url.contain('teenport.com/')
def can_accept_url(url: URL) -> bool: return url.contain('fuskator.com/')
def can_accept_url(url: URL) -> bool: return url.contain('24videos.tv/')
def can_accept_url(url: URL) -> bool: return url.contain('bravoerotica.com/')
def can_accept_url(url: URL) -> bool: return url.contain('tnaflix.com/')
def can_accept_url(url: URL) -> bool: return url.contain('plusone8.com/')
def can_accept_url(url: URL) -> bool: return url.contain('pervertslut.com/')
def can_accept_url(url: URL) -> bool: return url.contain('sextube.nl/')
def can_accept_url(url: URL) -> bool: return url.contain('realgfporn.com/')
def can_accept_url(url: URL) -> bool: return url.contain('shockingmovies.com/')
def can_accept_url(url: URL) -> bool: return url.contain('babesandbitches.net/')
def can_accept_url(url: URL) -> bool: return url.contain('pornbraze.com/')
def can_accept_url(url: URL) -> bool: return url.contain('beemtube.com/')
def can_accept_url(url: URL) -> bool: return url.contain('vibraporn.com/')
def can_accept_url(url: URL) -> bool: return url.contain('sexix.net/')
def can_accept_url(url: URL) -> bool: return url.contain('xhamster.com/')
def can_accept_url(url: URL) -> bool: return url.contain('tomorrowporn.com/')
def can_accept_url(url: URL) -> bool: return url.contain('thumbzilla.com/')
def can_accept_url(url: URL) -> bool: return url.contain('veronicca.com/')
def can_accept_url(url: URL) -> bool: return url.contain('collectionofbestporn.com/')
def can_accept_url(url: URL) -> bool: return url.contain('donfreeporn.com/')
def can_accept_url(url: URL) -> bool: return url.contain('heavy-r.com/')