Repository: yt-dlp/yt-dlp
File: yt_dlp/extractor/cspan.py (Python)

Code before:
    }]

    def _real_extract(self, url):
        parsed_url = urlparse(url)
        if parse_qs(parsed_url.query)['chamber'] is not None:
            display_id = parse_qs(parsed_url.query)['chamber'][0]
            if parse_qs(parsed_url.query)['date'] is not None:
                display_id = display_id + '_' + parse_qs(parsed_url.query)['date'][0]
        else:
            display_id = self._generic_id(url)

        webpage = self._download_webpage(url, display_id)
        jwplayer_data = self._parse_json(
            self._search_regex(r'jwsetup\s*=\s*({(?:.|\n)[^;]+});', webpage, 'player config'),
            display_id, transform_source=js_to_json)
        result = self._parse_jwplayer_data(jwplayer_data, display_id, False)

        for f in result['formats']:
            f.setdefault('http_headers', {})['Referer'] = 'https://www.c-span.org/'

        result['title'] = self._og_search_title(webpage, default=None) or self._html_search_regex(
            r'(?s)<title>(.*?)</title>', webpage, 'video title')
        result['description'] = self._og_search_description(webpage, default=None) or self._html_search_meta(
            'description', webpage, 'meta description', default=None)

        return result


Review comment (suggestion):
```suggestion
        title = (self._og_search_title(webpage, default=None)
                 or self._html_search_regex(r'(?s)<title>(.*?)</title>', webpage, 'video title'))
        description = (self._og_search_description(webpage, default=None)
                       or self._html_search_meta('description', webpage, 'description', default=None))

        return {
            **self._parse_jwplayer_data(jwplayer_data, display_id, False),
            'title': title,
            'description': description,
            'http_headers': {'Referer': 'https://www.c-span.org/'},
        }
```

Code after:

    def _real_extract(self, url):
        query = parse_qs(url)
        video_date = query.get('date', [None])[0]
        video_id = join_nonempty(query.get('chamber', ['senate'])[0], video_date, delim='_')
        webpage = self._download_webpage(url, video_id)
        if not video_date:
            jwp_date = re.search(r'jwsetup.clipprogdate = \'(?P<date>\d{4}-\d{2}-\d{2})\';', webpage)
            if jwp_date:
                video_id = f'{video_id}_{jwp_date.group("date")}'
        jwplayer_data = self._parse_json(
            self._search_regex(r'jwsetup\s*=\s*({(?:.|\n)[^;]+});', webpage, 'player config'),
            video_id, transform_source=js_to_json)

        title = (self._og_search_title(webpage, default=None)
                 or self._html_search_regex(r'(?s)<title>(.*?)</title>', webpage, 'video title'))
        description = (self._og_search_description(webpage, default=None)
                       or self._html_search_meta('description', webpage, 'description', default=None))

        return {
            **self._parse_jwplayer_data(jwplayer_data, video_id, False),
            'title': re.sub(r'\s+', ' ', title.split('|')[0]).strip(),
            'description': description,
            'http_headers': {'Referer': 'https://www.c-span.org/'},
        }