Compare commits

...

2 Commits

Author SHA1 Message Date
c-basalt
926850e82c import 2023-10-29 20:51:48 -04:00
c-basalt
ee678912c3
Apply suggestions from code review
Co-authored-by: bashonly <88596187+bashonly@users.noreply.github.com>
2023-10-29 20:50:06 -04:00

View File

@ -1,3 +1,4 @@
import json
import random import random
import itertools import itertools
import urllib.parse import urllib.parse
@ -19,28 +20,31 @@ from ..utils import (
class WeiboBaseIE(InfoExtractor): class WeiboBaseIE(InfoExtractor):
def _update_visitor_cookies(self, visitor_url, video_id): def _update_visitor_cookies(self, visitor_url, video_id):
headers = {'Referer': visitor_url}
chrome_ver = self._search_regex( chrome_ver = self._search_regex(
r'Chrome/(\d+)', traverse_obj(self._downloader.params, ('http_headers', 'User-Agent', {str})), r'Chrome/(\d+)', self.get_param('http_headers')['User-Agent'], 'user agent version', default='90')
'user agent version', default='90')
visitor_data = self._download_json( visitor_data = self._download_json(
'https://passport.weibo.com/visitor/genvisitor', video_id, 'https://passport.weibo.com/visitor/genvisitor', video_id,
note='Generating first-visit guest request', note='Generating first-visit guest request',
headers={'Referer': visitor_url}, headers=headers, transform_source=strip_jsonp,
transform_source=strip_jsonp,
data=urlencode_postdata({ data=urlencode_postdata({
'cb': 'gen_callback', 'cb': 'gen_callback',
'fp': f'{{"os":"1","browser":"Chrome{chrome_ver},0,0,0","fonts":"undefined","screenInfo":"1920*1080*24","plugins":""}}', 'fp': json.dumps({
}))['data'] 'os': '1',
'browser': f'Chrome{chrome_ver},0,0,0',
'fonts': 'undefined',
'screenInfo': '1920*1080*24',
'plugins': ''
}, separators=(',', ':'))}))['data']
self._download_webpage( self._download_webpage(
'https://passport.weibo.com/visitor/visitor', video_id, 'https://passport.weibo.com/visitor/visitor', video_id,
note='Running first-visit callback to get guest cookies', note='Running first-visit callback to get guest cookies',
headers={'Referer': visitor_url}, headers=headers, query={
query={
'a': 'incarnate', 'a': 'incarnate',
't': visitor_data['tid'], 't': visitor_data['tid'],
'w': 3 if visitor_data.get('new_tid') else 2, 'w': 3 if visitor_data.get('new_tid') else 2,
'c': '%03d' % visitor_data.get('confidence', 100), 'c': f'{visitor_data.get("confidence", 100):03d}',
'gc': '', 'gc': '',
'cb': 'cross_domain', 'cb': 'cross_domain',
'from': 'weibo', 'from': 'weibo',