import requests
from lxml import etree
from requests.adapters import HTTPAdapter
from requests.packages.urllib3.util.retry import Retry
from requests.packages import urllib3
import logging
s = requests.session()
retry = Retry(connect=3, backoff_factor=0.5)
adapter = HTTPAdapter(max_retries=retry)
s.mount('http://', adapter)
s.mount('https://', adapter)
s.keep_alive = False
logging.captureWarnings(True)
urllib3.disable_warnings()
header = {}
r = s.post("https://www",data=data,headers=header,verify=False)
tchtmldata = tchtml.text
tchtml = etree.HTML(tchtmldata)
results = tchtml.xpath('.//div[@class="result"]')
from functools import reduce
import logging
logger = logging.getLogger()
logger.setLevel(logging.INFO)
logger_chardet = logging.getLogger('chardet.charsetprober')
logger_chardet.setLevel(logging.INFO)
def transform_query(query):
return reduce(lambda s_ant, s_sig : s_ant + '+' + s_sig, query) if len(query) != 0 else ''
BASE_URL = 'https://www.youtube.com/results?search_query='
URL = BASE_URL + transform_query(query) + '&pbj=1'
logger.info(f"Requesting : {URL}")
response = requests.get(URL, headers = headers, timeout = 5).json()