import re
from ..compat import (
- compat_urllib_parse_urlencode,
compat_urlparse,
)
from ..utils import (
js_to_json,
+ strip_jsonp,
+ urlencode_postdata,
)
"screenInfo": "1440*900*24",
"plugins": ""
}
- data = compat_urllib_parse_urlencode({
+ data = urlencode_postdata({
"cb": "gen_callback",
"fp": json.dumps(fp),
- }).encode()
+ })
genvisitor_url = 'https://passport.weibo.com/visitor/genvisitor'
- webpage, _ = self._download_webpage_handle(genvisitor_url, video_id, data=data, headers=headers, note="gen visitor")
+ webpage = self._download_webpage(genvisitor_url, video_id, data=data, headers=headers, note="gen visitor")
- p = webpage.split("&&")[1] # split "gen_callback && gen_callback(...)"
+ p = strip_jsonp(webpage)
i1 = p.find('{')
i2 = p.rfind('}')
j = p[i1:i2 + 1] # get JSON object
'_rand': random.random()
}
gencallback_url = "https://passport.weibo.com/visitor/visitor"
- self._download_webpage_handle(gencallback_url, video_id, note="gen callback", query=query)
+ self._download_webpage(gencallback_url, video_id, note="gen callback", query=query)
- webpage, _ = self._download_webpage_handle(url, video_id, note="retry to visit the page")
+ webpage = self._download_webpage(url, video_id, note="retry to visit the page")
title = self._html_search_regex(r'<title>(.+?)</title>', webpage, 'title')
def _real_extract(self, url):
video_id = self._match_id(url)
# to get Referer url for genvisitor
- webpage, _ = self._download_webpage_handle(url, video_id, note="visit the page")
+ webpage = self._download_webpage(url, video_id, note="visit the page")
js_code = self._search_regex(r'var\s+\$render_data\s*=\s*\[({.*})\]\[0\] \|\| {};', webpage, 'js_code', flags=re.DOTALL)
weibo_info = self._parse_json(js_code, video_id, transform_source=js_to_json)
page_info = weibo_info['status']['page_info']