X-Git-Url: https://code.delx.au/webdl/blobdiff_plain/9240c5515719ac68955bc114412d08f5c2df128e..1e187809bf3e16a098cd31f4bf572a5e674cc9a7:/common.py diff --git a/common.py b/common.py index 18460f9..838cf94 100644 --- a/common.py +++ b/common.py @@ -1,4 +1,5 @@ import hashlib +import io import json import logging import lxml.etree @@ -99,7 +100,7 @@ def grab_html(url): logging.debug("grab_html(%r)", url) request = http_session.prepare_request(requests.Request("GET", url)) response = http_session.send(request, stream=True) - doc = lxml.html.parse(response.raw, lxml.html.HTMLParser(encoding="utf-8", recover=True)) + doc = lxml.html.parse(io.BytesIO(response.content), lxml.html.HTMLParser(encoding="utf-8", recover=True)) response.close() return doc @@ -107,7 +108,7 @@ def grab_xml(url): logging.debug("grab_xml(%r)", url) request = http_session.prepare_request(requests.Request("GET", url)) response = http_session.send(request, stream=True) - doc = lxml.etree.parse(response.raw, lxml.etree.XMLParser(encoding="utf-8", recover=True)) + doc = lxml.etree.parse(io.BytesIO(response.content), lxml.etree.XMLParser(encoding="utf-8", recover=True)) response.close() return doc @@ -202,6 +203,7 @@ def remux(infile, outfile): "-bsf:a", "aac_adtstoasc", "-acodec", "copy", "-vcodec", "copy", + "-y", outfile, ] if not exec_subprocess(cmd): @@ -242,6 +244,7 @@ def download_hds(filename, video_url, pvswf=None): cmd = [ "livestreamer", + "-f", "-o", filename, param, "best", @@ -258,6 +261,7 @@ def download_hls(filename, video_url): cmd = [ "livestreamer", + "-f", "-o", filename, video_url, "best",