本文整理汇总了Python中resources.lib.libraries.client.parseDOM函数的典型用法代码示例。如果您正苦于以下问题:Python parseDOM函数的具体用法?Python parseDOM怎么用?Python parseDOM使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了parseDOM函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: get_movie
def get_movie(self, imdb, title, year):
try:
self.base_link = self.base_link
query = '%s %s' % (title, year)
query = self.search_link % (urllib.quote_plus(query))
query = urlparse.urljoin(self.base_link, query)
result = client.source(query)
result = result.decode('iso-8859-1').encode('utf-8')
result = client.parseDOM(result, "div", attrs={"class":"boxinfo"})
title = cleantitle.movie(title)
for item in result:
searchTitle = client.parseDOM(item, "span", attrs={"class":"tt"})[0]
try : searchTitle = re.compile('(.+?) \d{4} ').findall(searchTitle)[0]
except: pass
searchTitle = cleantitle.movie(searchTitle)
if title in searchTitle:
url = client.parseDOM(item, "a", ret="href")[0]
url = re.compile(".+/(.+?)/").findall(url)[0]
break
if url == None or url == '':
raise Exception()
return url
except:
return
示例2: get_movie
def get_movie(self, imdb, title, year):
try:
post = '%s %s' % (title, year)
post = self.search_post % (urllib.quote_plus(post))
query = urlparse.urljoin(self.base_link, self.search_link)
result = client.source(query, post=post)
result = client.parseDOM(result, 'div', attrs = {'id': 'dle-content'})[0]
title = cleantitle.movie(title)
result = client.parseDOM(result, 'div', attrs = {'class': 'short-film'})
result = client.parseDOM(result, 'h5')
result = [(client.parseDOM(i, 'a', ret='href'), client.parseDOM(i, 'a')) for i in result]
result = [(i[0][0], i[1][0]) for i in result if len(i[0]) > 0 and len(i[1]) > 0]
result = [i for i in result if title == cleantitle.movie(i[1])]
if not len(result) == 1: raise Exception()
result = result[0][0]
try: url = re.compile('//.+?(/.+)').findall(result)[0]
except: url = result
url = client.replaceHTMLCodes(url)
url = url.encode('utf-8')
return url
except:
return
示例3: get_movie
def get_movie(self, imdb, title, year):
try:
self.base_link = random.choice([self.base_link_1, self.base_link_2])
query = self.search_link % (urllib.quote_plus(title))
query = urlparse.urljoin(self.base_link, query)
result = client.source(query)
result = client.parseDOM(result, 'div', attrs = {'class': 'cell_container'})
title = cleantitle.movie(title)
years = ['%s' % str(year), '%s' % str(int(year)+1), '%s' % str(int(year)-1)]
result = [(client.parseDOM(i, 'a', ret='href'), client.parseDOM(i, 'a', ret='title')) for i in result]
result = [(i[0][0], i[1][0]) for i in result if len(i[0]) > 0 and len(i[1]) > 0]
result = [(i[0], re.compile('(.+?) [(](\d{4})[)]').findall(i[1])) for i in result]
result = [(i[0], i[1][0][0], i[1][0][1]) for i in result if len(i[1]) > 0]
result = [i for i in result if title == cleantitle.movie(i[1])]
result = [i[0] for i in result if any(x in i[2] for x in years)][0]
try: url = re.compile('//.+?(/.+)').findall(result)[0]
except: url = result
url = client.replaceHTMLCodes(url)
url = url.encode('utf-8')
return url
except:
return
示例4: get_episode
def get_episode(self, url, imdb, tvdb, title, date, season, episode):
try:
tvshowtitle, year = re.compile('(.+?) [(](\d{4})[)]$').findall(url)[0]
query = self.search_link % urllib.quote(tvshowtitle)
query = urlparse.urljoin(self.base_link, query)
result = client.source(query)
tvshowtitle = cleantitle.tv(tvshowtitle)
season = '%01d' % int(season)
episode = '%01d' % int(episode)
years = ['%s' % str(year), '%s' % str(int(year)+1), '%s' % str(int(year)-1)]
result = client.parseDOM(result, 'div', attrs = {'class': 'ml-item'})
result = [(client.parseDOM(i, 'a', ret='href'), client.parseDOM(i, 'h2'), re.compile('class *= *[\'|\"]jt-info[\'|\"]>(\d{4})<').findall(i)) for i in result]
result = [(i[0][0], i[1][0], i[2][0]) for i in result if len(i[0]) > 0 and len(i[1]) > 0 and len(i[2]) > 0]
result = [(i[0], re.compile('(.+?) - Season (\d*)$').findall(i[1]), i[2]) for i in result]
result = [(i[0], i[1][0][0], i[1][0][1], i[2]) for i in result if len(i[1]) > 0]
result = [i for i in result if tvshowtitle == cleantitle.tv(i[1])]
result = [i for i in result if season == i[2]]
result = [(i[0], i[1], str(int(i[3]) - int(i[2]) + 1)) for i in result]
result = [i[0] for i in result if any(x in i[2] for x in years)][0]
result += '?S%02dE%02d' % (int(season), int(episode))
try: url = re.compile('//.+?(/.+)').findall(result)[0]
except: url = result
url = client.replaceHTMLCodes(url)
url = url.encode('utf-8')
return url
except:
return
示例5: get_show
def get_show(self, imdb, tvdb, tvshowtitle, year):
try:
r = 'search/tvdb/%s?type=show&extended=full' % tvdb
r = json.loads(trakt.getTrakt(r))
if not r: return '0'
d = r[0]['show']['genres']
if not ('anime' in d or 'animation' in d): return '0'
tv_maze = tvmaze.tvMaze()
tvshowtitle = tv_maze.showLookup('thetvdb', tvdb)
tvshowtitle = tvshowtitle['name']
t = cleantitle.get(tvshowtitle)
q = self.search_link % (urllib.quote_plus(tvshowtitle))
q = urlparse.urljoin(self.base_link, q)
r = client.request(q)
r = client.parseDOM(r, 'ol', attrs={'id': 'searchresult'})[0]
r = client.parseDOM(r, 'h2')
r = [(client.parseDOM(i, 'a', ret='href'), client.parseDOM(i, 'a')) for i in r]
r = [(i[0][0], i[1][0]) for i in r if len(i[0]) > 0 and len(i[1]) > 0]
r = [(i[0], re.sub('<.+?>|</.+?>', '', i[1])) for i in r]
r = [i for i in r if t == cleantitle.get(i[1])]
r = r[-1][0]
url = re.findall('(?://.+?|)(/.+)', r)[0]
url = client.replaceHTMLCodes(url)
url = url.encode('utf-8')
return url
except:
return
示例6: get_movie
def get_movie(self, imdb, title, year):
try:
query = urlparse.urljoin(self.base_link, self.moviesearch_link + urllib.quote_plus(title))
result = cloudflare.source(query)
if result == None: result = client.source(self.__proxy() + urllib.quote_plus(query))
r = client.parseDOM(result, 'li', attrs = {'class': 'first element.+?'})
r += client.parseDOM(result, 'li', attrs = {'class': 'element.+?'})
r += client.parseDOM(result, 'header', attrs = {'class': 'entry-header'})
title = cleantitle.movie(title)
years = ['(%s)' % str(year), '(%s)' % str(int(year)+1), '(%s)' % str(int(year)-1)]
result = [(client.parseDOM(i, 'a', ret='href'), client.parseDOM(i, 'a')) for i in r]
result = [(i[0][0], i[1][0]) for i in result if len(i[0]) > 0 and len(i[1]) > 0]
result = [(i[0], re.compile('(.+? [(]\d{4}[)])').findall(i[1])) for i in result]
result = [(i[0], i[1][0]) for i in result if len(i[1]) > 0]
result = [i for i in result if title == cleantitle.movie(i[1])]
result = [i[0] for i in result if any(x in i[1] for x in years)][0]
url = client.replaceHTMLCodes(result)
try: url = urlparse.parse_qs(urlparse.urlparse(url).query)['u'][0]
except: pass
try: url = urlparse.parse_qs(urlparse.urlparse(url).query)['q'][0]
except: pass
url = urlparse.urlparse(url).path
url = url.encode('utf-8')
return url
except:
return
示例7: resolve
def resolve(url):
try:
url = re.compile('//.+?/([\w]+)').findall(url)[0]
url = 'http://www.movdivx.com/%s' % url
result = client.request(url)
post = {}
f = client.parseDOM(result, 'Form', attrs = {'action': '' })[0]
k = client.parseDOM(f, 'input', ret='name', attrs = {'type': 'hidden'})
for i in k: post.update({i: client.parseDOM(f, 'input', ret='value', attrs = {'name': i})[0]})
post.update({'method_free': 'Free Download'})
result = client.request(url, post=post)
result = re.compile('(eval.*?\)\)\))').findall(result)[-1]
result = jsunpack.unpack(result)
url = client.parseDOM(result, 'embed', ret='src')
url += re.compile("file *: *[\'|\"](.+?)[\'|\"]").findall(result)
url = [i for i in url if not i.endswith('.srt')]
url = 'http://' + url[0].split('://', 1)[-1]
return url
except:
return
示例8: resolve
def resolve(url):
try:
id = re.compile('//.+?/.+?/([\w]+)').findall(url)
id += re.compile('//.+?/.+?v=([\w]+)').findall(url)
id = id[0]
url = 'http://www.cloudtime.to/video/%s' % id
result = client.request(url)
post = {}
f = client.parseDOM(result, 'form', attrs = {'action': ''})
k = client.parseDOM(f, 'input', ret='name', attrs = {'type': 'hidden'})
for i in k: post.update({i: client.parseDOM(f, 'input', ret='value', attrs = {'name': i})[0]})
post = urllib.urlencode(post)
result = client.request(url, post=post)
key = re.compile('flashvars.filekey=(.+?);').findall(result)[-1]
try: key = re.compile('\s+%s="(.+?)"' % key).findall(result)[-1]
except: pass
url = 'http://www.cloudtime.to/api/player.api.php?key=%s&file=%s' % (key, id)
result = client.request(url)
url = re.compile('url=(.+?)&').findall(result)[0]
return url
except:
return
示例9: resolve
def resolve(url):
try:
result = client.request(url, mobile=True, close=False)
try:
post = {}
f = client.parseDOM(result, "Form", attrs={"method": "POST"})[0]
f = f.replace('"submit"', '"hidden"')
k = client.parseDOM(f, "input", ret="name", attrs={"type": "hidden"})
for i in k:
post.update({i: client.parseDOM(f, "input", ret="value", attrs={"name": i})[0]})
post = urllib.urlencode(post)
except:
post = None
for i in range(0, 10):
try:
result = client.request(url, post=post, mobile=True, close=False)
result = result.replace("\n", "")
result = re.compile("sources *: *\[.+?\]").findall(result)[-1]
result = re.compile('file *: *"(http.+?)"').findall(result)
url = [i for i in result if ".m3u8" in i]
if len(url) > 0:
return url[0]
url = [i for i in result if not ".m3u8" in i]
if len(url) > 0:
return url[0]
except:
time.sleep(1)
except:
return
示例10: daytse_movies
def daytse_movies(dbname):
con = lite.connect(dbname)
cur = con.cursor()
#cur.execute("DROP TABLE IF EXISTS movies")
#cur.executemany("INSERT INTO Cars VALUES(?, ?, ?)", cars)
#cur.execute("CREATE TABLE movies (title TEXT, link TEXT, quality TEXT, UNIQUE (link))")
for j in range(1,2):
print'------- %s ' % j
src = 'http://dayt.se/movies/index.php?&page=%s' % j
result = ''
result = client2.http_get(src).decode('windows-1256').encode('utf8')
result = client.parseDOM(result, 'table', attrs={'class': 'topic_table'})
for i in result:
print '-------------------------'
#print i
print client.parseDOM(i, 'img', attrs={'class': 'image'}, ret='alt')[0]
print client.parseDOM(i, 'a', attrs={'target': '_self'}, ret='href')[1]
#result = [(client.parseDOM(i, 'img', attrs={'class': 'image'}, ret='alt')[0],
# client.parseDOM(i, 'a', attrs={'target': '_self'}, ret='href')[0],
# re.findall('Quality: (\d+).*</pre>', i)[0]) for i in result]
#cur.executemany("INSERT INTO movies VALUES(?, ?, ?)", result)
con.commit()
con.close()
示例11: resolve
def resolve(url):
try:
url = url.replace("/embed-", "/")
url = re.compile("//.+?/([\w]+)").findall(url)[0]
url = "http://grifthost.com/embed-%s.html" % url
result = client.request(url)
try:
post = {}
f = client.parseDOM(result, "Form", attrs={"method": "POST"})[0]
f = f.replace('"submit"', '"hidden"')
k = client.parseDOM(f, "input", ret="name", attrs={"type": "hidden"})
for i in k:
post.update({i: client.parseDOM(f, "input", ret="value", attrs={"name": i})[0]})
post = post
result = client.request(url, post=post)
except:
pass
result = re.compile("(eval.*?\)\)\))").findall(result)[-1]
result = jsunpack.unpack(result)
url = client.parseDOM(result, "embed", ret="src")
url += re.compile("file *: *['|\"](.+?)['|\"]").findall(result)
url = [i for i in url if not i.endswith(".srt")]
url = "http://" + url[0].split("://", 1)[-1]
return url
except:
return
示例12: get_movie
def get_movie(self, imdb, title, year):
try:
t = cleantitle.get(title)
q = self.search_link_2 % (urllib.quote_plus(cleantitle.query(title)))
q = q.replace('+','-')
q = urlparse.urljoin(self.base_link, q)
r = self.request(q)[0]
r = client.parseDOM(r, 'div', attrs = {'class': 'ml-item'})
r = [(client.parseDOM(i, 'a', ret='href'), client.parseDOM(i, 'a', ret='title'), client.parseDOM(i, 'a', ret='data-url')) for i in r]
r = [(i[0][0], i[1][0], i[2][0]) for i in r if i[0] and i[1]]
#else:
# r = zip(client.parseDOM(r, 'a', ret='href', attrs = {'class': 'ss-title'}), client.parseDOM(r, 'a', attrs = {'class': 'ss-title'}))
r = [(i[0],i[2]) for i in r if cleantitle.get(t) == cleantitle.get(i[1])][:2]
r = [(i[0], re.findall('(\d+)', i[1])[-1]) for i in r]
for i in r:
try:
y, q = cache.get(self.muchmovies_info, 9000, i[1])
if not y == year: raise Exception()
return urlparse.urlparse(i[0]).path
except:
pass
except:
return
示例13: resolve
def resolve(self, url):
control.log('RESSS %s' % url)
try:
if 'openload.co' in url:
url = resolvers.request(url)
return url
if 'movieshd' in url:
r = self.request(url)[0]
r = re.findall("file: '([^']+)',label: '(\d+)", r)
r1 = sorted(r, key=lambda k: k[1])
r2 = client.replaceHTMLCodes(r1[-1][0])
#r2 = client.googlepass(url)
return r2
if 'seriesonline' in url:
r = self.request(url)[0]
r = [client.parseDOM(r, 'source', ret='src'), client.parseDOM(r,'source', ret='label')]
r = zip(r[0],r[1])
r1 = sorted(r, key=lambda k: k[1])
r2 = client.replaceHTMLCodes(r1[-2][0])
r2 = client.googlepass(url)
return r2
return False
except Exception as e:
control.log('RESSS %S' % e)
pass
示例14: resolve
def resolve(url):
try:
url = url.replace('/embed-', '/')
url = re.compile('//.+?/([\w]+)').findall(url)[0]
page = 'http://allmyvideos.net/%s' % url
control.log('AAA Page %s' % page)
result = client.request(page, close=False)
post = {}
f = client.parseDOM(result, 'form', attrs = {'action': ''})
k = client.parseDOM(f, 'input', ret='name', attrs = {'type': 'hidden'})
for i in k: post.update({i: client.parseDOM(f, 'input', ret='value', attrs = {'name': i})[0]})
post = urllib.urlencode(post)
result = client.request(page, post=post)
url = re.compile('"file" *: *"(http.+?)"').findall(result)
#control.log('AAA Page %s' % url)
url = url[-1]
url += '&direct=false&ua=false'
xbmc.sleep(2000)
#return url + '|' + urllib.urlencode({ 'User-Agent': client.IE_USER_AGENT })
return url
except:
return
示例15: get_movie
def get_movie(self, imdb, title, year):
try:
query = self.search_link2 % (urllib.quote_plus(title))
query = urlparse.urljoin(self.base_link, query)
for i in range(5):
result = client.source(query, close=False)
if not result == None: break
result = client.parseDOM(result, 'section', attrs = {'id': 'contentrea'})[0]
title = cleantitle.movie(title)
years = ['%s' % str(year), '%s' % str(int(year)+1), '%s' % str(int(year)-1)]
result = zip(client.parseDOM(result, 'a', ret='href'), client.parseDOM(result, 'a'))
result = [(i[0], re.compile('(^Watch Full "|^Watch |)(.+? \d{4})').findall(i[1])) for i in result]
result = [(i[0], i[1][0][-1]) for i in result if len(i[1]) > 0]
result = [(i[0], re.compile('(.+?) (\d{4})$').findall(i[1])) for i in result]
result = [(i[0], i[1][0][0], i[1][0][1]) for i in result if len(i[1]) > 0]
result = [i for i in result if any(x in i[2] for x in years)]
result = [i[0] for i in result if title == cleantitle.movie(i[1])][0]
try: url = re.compile('//.+?(/.+)').findall(result)[0]
except: url = result
url = client.replaceHTMLCodes(url)
url = url.encode('utf-8')
return url
except:
return