Since Python 3.6, invalid escape sequences are deprecated. It's likely
that there are invalid escape sequences somewhere on the webpage, so
instead of unescaping the whole webpage, just unescape the URL.
See https://bugs.python.org/issue27364. That change was designed for
string literals, while it affects the 'unicode_escape' encoding as well.
The code path is:
str.decode('unicode_escape')
codecs.unicode_escape_decode()
PyUnicode_DecodeUnicodeEscape()
* [infoq] Add audio only format if available
Refactor cookie code into a function.
Renamed formats to http_video, http_audio, rtmp_video
Renamed extract functions to video instead of videos as they return
one or no video.
* [infoq] Rename to _extract_cookies as it more than one
* [infoq] Remove redundant determine_ext
* [infoq] Add comment about hardcoded URL
* [infoq] Use _hidden_inputs instead of messy regex
* [infoq] Probe if audio URL is valid
Make it possible to pass headers to _is_valid_url
* [infoq] Add audio only test