- webpage_info = self._search_json(r'<script[^>]*>\s*window\._preloads\s*=', webpage, 'preloads', display_id)
+ webpage_info = self._parse_json(self._search_json(
+ r'window\._preloads\s*=\s*JSON\.parse\(', webpage, 'json string',
+ display_id, transform_source=js_to_json, contains_pattern=r'"{(?s:.+)}"'), display_id)
+
+ canonical_url = url
+ domain = traverse_obj(webpage_info, ('domainInfo', 'customDomain', {str}))
+ if domain:
+ canonical_url = urllib.parse.urlparse(url)._replace(netloc=domain).geturl()