本文整理汇总了Python中resources.lib.kodion.simple_requests.get函数的典型用法代码示例。如果您正苦于以下问题:Python get函数的具体用法?Python get怎么用?Python get使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了get函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: _get_all
def _get_all(self, xml_contents):
return_list = []
for match in re.finditer('lang_code="(?P<language>[^"]+?)"', xml_contents, re.IGNORECASE):
language = match.group('language')
fname = self.srt_filename(language)
if xbmcvfs.exists(fname):
self.context.log_debug('Subtitle exists for: %s, filename: %s' % (language, fname))
return_list.append(fname)
continue
result = requests.get(self.subtitle_url(language), headers=self.headers,
verify=False, allow_redirects=True)
if result.text:
self.context.log_debug('Subtitle found for: %s' % language)
result = self._write_file(fname, bytearray(HTMLParser.HTMLParser().unescape(result.text.decode('utf8')),
encoding='utf8', errors='ignore'))
if result:
return_list.append(fname)
continue
else:
self.context.log_debug('Failed to retrieve subtitles for: %s' % language)
continue
if not return_list:
self.context.log_debug('No subtitles found')
return return_list
示例2: update_watch_history
def update_watch_history(self, video_id):
headers = {
"Host": "www.youtube.com",
"Connection": "keep-alive",
"User-Agent": "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.36 Safari/537.36",
"Accept": "image/webp,*/*;q=0.8",
"DNT": "1",
"Referer": "https://www.youtube.com/tv",
"Accept-Encoding": "gzip, deflate",
"Accept-Language": "en-US,en;q=0.8,de;q=0.6",
}
params = {
"noflv": "1",
"html5": "1",
"video_id": video_id,
"referrer": "",
"eurl": "https://www.youtube.com/tv#/watch?v=%s" % video_id,
"skl": "false",
"ns": "yt",
"el": "leanback",
"ps": "leanback",
}
if self._access_token:
params["access_token"] = self._access_token
pass
url = "https://www.youtube.com/user_watch"
result = requests.get(url, params=params, headers=headers, verify=False, allow_redirects=True)
pass
示例3: update_watch_history
def update_watch_history(self, video_id):
headers = {'Host': 'www.youtube.com',
'Connection': 'keep-alive',
'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.36 Safari/537.36',
'Accept': 'image/webp,*/*;q=0.8',
'DNT': '1',
'Referer': 'https://www.youtube.com/tv',
'Accept-Encoding': 'gzip, deflate',
'Accept-Language': 'en-US,en;q=0.8,de;q=0.6'}
params = {'noflv': '1',
'html5': '1',
'video_id': video_id,
'referrer': '',
'eurl': 'https://www.youtube.com/tv#/watch?v=%s' % video_id,
'skl': 'false',
'ns': 'yt',
'el': 'leanback',
'ps': 'leanback'}
if self._access_token:
params['access_token'] = self._access_token
pass
url = 'https://www.youtube.com/user_watch'
result = requests.get(url, params=params, headers=headers, verify=False, allow_redirects=True)
pass
示例4: _process_manifest
def _process_manifest(_url):
try:
headers = {'Connection': 'keep-alive',
'Cache-Control': 'max-age=0',
'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8',
'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.38 Safari/537.36',
'DNT': '1',
'Accept-Encoding': 'gzip, deflate, sdch',
'Accept-Language': 'en-US,en;q=0.8,de;q=0.6'}
_result = requests.get(_url, headers=headers, verify=False)
_xml = ElementTree.fromstring(_result.text)
_url = ''
_last_bit_rate = 0
for _media in _xml:
_bit_rate = int(_media.get('bitrate'))
if _bit_rate > _last_bit_rate:
_url = _media.get('href')
_last_bit_rate = _bit_rate
pass
pass
if _url:
return _url
except:
raise UnsupportedStreamException
pass
示例5: _get_subtitles
def _get_subtitles(self):
languages = self._languages()
if languages == self.LANG_NONE:
return []
subtitle_list_url = self.SUBTITLE_LIST_URL % self.video_id
result = requests.get(subtitle_list_url, headers=self.headers,
verify=False, allow_redirects=True)
if result.text:
if languages == self.LANG_ALL:
return self._get_all(result.text)
elif languages == self.LANG_CURR:
return self._get_current(result.text)
elif languages == self.LANG_CURR_EN:
list_of_subs = []
list_of_subs.extend(self._get_current(result.text))
list_of_subs.extend(self._get_en(result.text))
return list(set(list_of_subs))
elif languages == self.LANG_EN:
return self._get_en(result.text)
elif languages == self.LANG_PROMPT:
return self._prompt(result.text)
else:
self.context.log_debug('Unknown language_enum: %s for subtitles' % str(languages))
else:
self.context.log_debug('Failed to retrieve subtitle list')
return []
示例6: _load_manifest
def _load_manifest(self, url, video_id):
headers = {'Host': 'manifest.googlevideo.com',
'Connection': 'keep-alive',
'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.36 Safari/537.36',
'Accept': '*/*',
'DNT': '1',
'Referer': 'https://www.youtube.com/watch?v=%s' % video_id,
'Accept-Encoding': 'gzip, deflate',
'Accept-Language': 'en-US,en;q=0.8,de;q=0.6'}
result = requests.get(url, headers=headers, verify=False, allow_redirects=True)
lines = result.text.splitlines()
streams = []
re_line = re.compile(r'RESOLUTION=(?P<width>\d+)x(?P<height>\d+)')
re_itag = re.compile(r'/itag/(?P<itag>\d+)')
for i in range(len(lines)):
re_match = re.search(re_line, lines[i])
if re_match:
line = lines[i + 1]
re_itag_match = re.search(re_itag, line)
if re_itag_match:
itag = re_itag_match.group('itag')
yt_format = self.FORMAT.get(itag, None)
if not yt_format:
raise Exception('unknown yt_format for itag "%s"' % itag)
width = int(re_match.group('width'))
height = int(re_match.group('height'))
video_stream = {'url': line}
video_stream.update(yt_format)
streams.append(video_stream)
pass
pass
pass
return streams
示例7: _perform_v3_request
def _perform_v3_request(self, method='GET', headers=None, path=None, post_data=None, params=None,
allow_redirects=True, quota_optimized=True):
# first set the config for the corresponding system (Frodo, Gotham, Helix, ...)
yt_config = self._config
# in any case of these APIs we change the config to a common key to save some quota
# if quota_optimized and path in ['channels', 'search']:
# yt_config = self.CONFIGS['youtube-for-kodi-quota']
# pass
# params
if not params:
params = {}
pass
_params = {'key': yt_config['key']}
_params.update(params)
# headers
if not headers:
headers = {}
pass
_headers = {'Host': 'www.googleapis.com',
'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.36 Safari/537.36',
'Accept-Encoding': 'gzip, deflate'}
# a config can decide if a token is allowed
if self._access_token and yt_config.get('token-allowed', True):
_headers['Authorization'] = 'Bearer %s' % self._access_token
pass
_headers.update(headers)
# url
_url = 'https://www.googleapis.com/youtube/v3/%s' % path.strip('/')
result = None
if method == 'GET':
result = requests.get(_url, params=_params, headers=_headers, verify=False, allow_redirects=allow_redirects)
pass
elif method == 'POST':
_headers['content-type'] = 'application/json'
result = requests.post(_url, json=post_data, params=_params, headers=_headers, verify=False,
allow_redirects=allow_redirects)
pass
elif method == 'PUT':
_headers['content-type'] = 'application/json'
result = requests.put(_url, json=post_data, params=_params, headers=_headers, verify=False,
allow_redirects=allow_redirects)
pass
elif method == 'DELETE':
result = requests.delete(_url, params=_params, headers=_headers, verify=False,
allow_redirects=allow_redirects)
pass
if result is None:
return {}
if result.headers.get('content-type', '').startswith('application/json'):
return result.json()
pass
示例8: _get_current
def _get_current(self, xml_contents):
language = self.language
fname = self.srt_filename(language)
if xbmcvfs.exists(fname):
self.context.log_debug('Subtitle exists for: %s, filename: %s' % (language, fname))
return [fname]
if xml_contents.find('lang_code="%s"' % language) > -1:
result = requests.get(self.subtitle_url(language), headers=self.headers,
verify=False, allow_redirects=True)
if result.text:
self.context.log_debug('Subtitle found for: %s' % language)
result = self._write_file(fname, bytearray(HTMLParser.HTMLParser().unescape(result.text.decode('utf8')),
encoding='utf8', errors='ignore'))
if result:
return [fname]
else:
return []
else:
self.context.log_debug('Failed to retrieve subtitles for: %s' % language)
return []
else:
if '-' not in self.language:
self.context.log_debug('No subtitles found for: %s' % language)
return []
language = language.split('-')[0]
fname = self.srt_filename(language)
if xbmcvfs.exists(fname):
self.context.log_debug('Subtitle exists for: %s, filename: %s' % (language, fname))
return [fname]
if xml_contents.find('lang_code="%s"' % language) > -1:
result = requests.get(self.subtitle_url(language), headers=self.headers,
verify=False, allow_redirects=True)
if result.text:
self.context.log_debug('Subtitle found for: %s' % language)
result = self._write_file(fname, bytearray(HTMLParser.HTMLParser().unescape(result.text.decode('utf8')),
encoding='utf8', errors='ignore'))
if result:
return [fname]
else:
return []
else:
self.context.log_debug('Failed to retrieve subtitles for: %s' % language)
return []
else:
self.context.log_debug('No subtitles found for: %s' % language)
return []
示例9: _perform_request
def _perform_request(self, channel_config=None, method='GET', headers=None, path=None, post_data=None, params=None,
allow_redirects=True):
# params
_params = {}
if not params:
params = {}
pass
_params.update(params)
# headers
if not headers:
headers = {}
pass
_headers = {
'Accept': 'application/json',
'Origin': 'http://www.nowtv.de',
'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.152 Safari/537.36',
'DNT': '1',
'Referer': 'http://www.nowtv.de/',
'Accept-Encoding': 'gzip',
'Accept-Language': 'en-US,en;q=0.8,de;q=0.6'
}
if channel_config:
_headers['Referer'] = 'http://www.nowtv.de/%s' % channel_config['id']
pass
# set the login token
if self._token:
_headers['X-AUTH-TOKEN'] = self._token
pass
_headers.update(headers)
# url
_url = 'https://api.nowtv.de/v3/'
if path:
_url = _url + path.strip('/')
pass
result = None
if method == 'GET':
result = requests.get(_url, params=_params, headers=_headers, verify=False, allow_redirects=allow_redirects,timeout=100)
pass
elif method == 'POST':
result = requests.post(_url, json=post_data, params=_params, headers=_headers, verify=False,
allow_redirects=allow_redirects,timeout=100)
pass
elif method == 'OPTIONS':
requests.options(_url, params=_params, headers=_headers, verify=False, allow_redirects=allow_redirects,timeout=100)
return {}
elif method == 'DELETE':
requests.delete(_url, params=_params, headers=_headers, verify=False, allow_redirects=allow_redirects,timeout=100)
return {}
if result is None:
return {}
return result.json()
示例10: _perform_v1_tv_request
def _perform_v1_tv_request(self, method='GET', headers=None, path=None, post_data=None, params=None,
allow_redirects=True):
# params
if not params:
params = {}
pass
_params = {'key': self._config_tv['key']}
_params.update(params)
# headers
if not headers:
headers = {}
pass
_headers = {'Host': 'www.googleapis.com',
'Connection': 'keep-alive',
'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.90 Safari/537.36',
'Origin': 'https://www.youtube.com',
'Accept': '*/*',
'DNT': '1',
'Referer': 'https://www.youtube.com/tv',
'Accept-Encoding': 'gzip',
'Accept-Language': 'en-US,en;q=0.8,de;q=0.6'}
if self._access_token_tv:
_headers['Authorization'] = 'Bearer %s' % self._access_token_tv
pass
_headers.update(headers)
# url
_url = 'https://www.googleapis.com/youtubei/v1/%s' % path.strip('/')
result = None
if method == 'GET':
result = requests.get(_url, params=_params, headers=_headers, verify=False, allow_redirects=allow_redirects)
pass
elif method == 'POST':
_headers['content-type'] = 'application/json'
result = requests.post(_url, json=post_data, params=_params, headers=_headers, verify=False,
allow_redirects=allow_redirects)
pass
elif method == 'PUT':
_headers['content-type'] = 'application/json'
result = requests.put(_url, json=post_data, params=_params, headers=_headers, verify=False,
allow_redirects=allow_redirects)
pass
elif method == 'DELETE':
result = requests.delete(_url, params=_params, headers=_headers, verify=False,
allow_redirects=allow_redirects)
pass
if result is None:
return {}
if result.headers.get('content-type', '').startswith('application/json'):
return result.json()
pass
示例11: get_video_url
def get_video_url(self, stream_id):
"""
Returns the url for the given id
:param stream_id:
:return:
"""
content = requests.get('http://www.netzkino.de/adconf/android-new.php')
json_data = content.json()
streamer_url = json_data.get('streamer', 'http://netzkino_and-vh.akamaihd.net/i/')
return streamer_url + urllib.quote(stream_id.encode('utf-8')) + '.mp4/master.m3u8'
示例12: _browse
def _browse(_url):
headers = {'Connection': 'keep-alive',
'Cache-Control': 'max-age=0',
'Accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8',
'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.38 Safari/537.36',
'DNT': '1',
'Accept-Encoding': 'gzip',
'Accept-Language': 'en-US,en;q=0.8,de;q=0.6'}
_result = requests.get(_url, headers=headers, verify=False)
return _result.text
示例13: get_homepage
def get_homepage(self, version, channel_id):
result = {}
try:
# http://contentapi.sim-technik.de/mega-app/v2/pro7/phone/homepage
url = "http://contentapi.sim-technik.de/mega-app/v2/%s/%s/homepage" % (channel_id, self._device)
data = requests.get(url, headers=self._header).json()
return data
except:
# do nothing
pass
return result
示例14: get_video_url
def get_video_url(self, video_id):
result = {}
try:
url = "http://vas.sim-technik.de/video/video.json"
params = {"clipid": video_id, "app": "megapp", "method": str(self._video_method)}
data = requests.get(url, headers=self._header, params=params).json()
return data
except:
# do nothing
pass
return result
示例15: get_new_videos
def get_new_videos(self, version, format_ids=None):
if not format_ids:
format_ids = []
pass
result = {}
format_id_string = ",".join(format_ids)
format_id_string = "[" + format_id_string + "]"
url = "http://contentapi.sim-technik.de/mega-app/v2/tablet/videos/favourites"
params = {"ids": format_id_string}
data = requests.get(url, headers=self._header, params=params).json()
return data