def search_cb(page, data): # Movie result = list_links(page, '/subject/') result += list_links(page, '/vplay/m-') result += list_links(page, '/vplay/g-') result += list_links(page, '/vplay/v-') moonplayer.show_list(result)
def search_cb(content, data): #movies, TV series and details movies = list_links(content, 'http://www.youku.com/show_page/id_') details = list_links(content, '/detail/show/') n = (len(movies) + len(details)) >> 1 #videos links = movies + details + list_links(content, 'http://v.youku.com/v_show/') moonplayer.show_list(links) for i in xrange(n): moonplayer.set_list_item_color(i, '#0000ff')
def search_cb(page, kw): page = convert_to_utf8(page) #tv series links = list_links(page, 'http://so.tv.sohu.com/show/', kw) links += list_links(page, 'http://tv.sohu.com/item/', kw) n_series = len(links) / 2 #movies links += list_links(page, 'http://tv.sohu.com/2', kw) n = len(links) / 2 #others links += list_links(page, 'http://my.tv.sohu.com/us/', kw) #show moonplayer.show_list(links) for i in xrange(n_series): moonplayer.set_list_item_color(i, '#0000ff') for i in xrange(n_series, n): moonplayer.set_list_item_color(i, '#6a4100')
def parse_album_cb(content, data): prefix = data[0] now_page = data[1] items = data[2] new_items = list_links(content, 'http://v.youku.com/v_show/id_') items += new_items if len(new_items) > 0: url = prefix + '_ascending_1_mode_pic_page_' + str(now_page+1) + '.html' moonplayer.get_url(url, parse_album_cb, (prefix, now_page+1, items)) else: moonplayer.show_album(items)
def cache(url, path): print 'Downloading: %s' % urlparse.urlsplit(url).path page = requests.get(url, proxies=PROX) if page.status_code == 404: return {'url': url, 'uid': 'Error: 404', 'time': gmt_now()}, [] assert page.status_code == 200, 'Error: Status code error in page download, received %s @ %s' % (page.status_code, urlparse.urlsplit(url).path) tree = html.fromstring(page.content) links = list_links([str(x) for x in tree.xpath(r'//*[@href]/@href')], url=url) uid = dump(html.tostring(tree), path, verbose=True) pause() return {'url': url, 'uid': uid, 'time': gmt_now()}, links
def cache_update(obj, path, links=[]): # headers = {'If-Modified-Since': obj['time']} headers = {} print 'Checking: %s' % urlparse.urlsplit(obj['url']).path page = requests.get(obj['url'], proxies=PROX, headers=headers) if page.status_code == 304: print 'No changes made...' else: assert page.status_code == 200, 'Error: Status code error in page download, received %s @ %s' % (page.status_code, urlparse.urlsplit(obj['url']).path) tree = html.fromstring(page.content) uid = dump(html.tostring(tree), path, verbose=True) links = list_links([str(x) for x in tree.xpath(r'//*[@href]/@href')], url=obj['url']) obj['time'] = gmt_now() return obj, links
def search_album_cb(content, data): links = list_links(content, 'http://www.youku.com/playlist_show/') moonplayer.show_list(links)
def library_cb(content, data): links = list_links(content, 'http://www.youku.com/show_page/id_') moonplayer.show_list(links)
def parse_movie_cb(content, data): links = list_links(content, 'http://v.youku.com/v_show/') moonplayer.show_album(links)
def parse_tv_cb(page, options): links = list_links(page, 'http://tv.sohu.com/2') moonplayer.show_album(links)
def search_album_cb(content, data): links = list_links(content, 'http://you.video.sina.com.cn/a/') moonplayer.show_list(links)
def search_cb(content, data): links = list_links(content, 'http://video.sina.com.cn/v/b/') moonplayer.show_list(links)
def search_album_cb(page, keyword): page = convert_to_utf8(page) links = list_links(page, 'http://www.tudou.com/playlist/id/', keyword) moonplayer.show_list(links)
def search_cb(content, data): links = list_links(content, 'http://www.tudou.com/programs/view/') moonplayer.show_list(links)