correction mechanicalsoup browser with cookies calling method

This commit is contained in:
lededev
2021-10-15 21:00:32 +08:00
parent 416e8be351
commit 7f8d500b13

View File

@@ -85,7 +85,12 @@ def post_html(url: str, query: dict, headers: dict = None) -> requests.Response:
def get_html_by_browser(url, cookies: dict = None, ua: str = None, return_type: str = None): def get_html_by_browser(url, cookies: dict = None, ua: str = None, return_type: str = None):
browser = mechanicalsoup.StatefulBrowser(user_agent=G_USER_AGENT if ua is None else ua) if isinstance(cookies, dict) and len(cookies):
s = requests.Session()
requests.utils.add_dict_to_cookiejar(s.cookies, cookies)
browser = mechanicalsoup.StatefulBrowser(user_agent=G_USER_AGENT if ua is None else ua, session=s)
else:
browser = mechanicalsoup.StatefulBrowser(user_agent=G_USER_AGENT if ua is None else ua)
configProxy = config.getInstance().proxy() configProxy = config.getInstance().proxy()
if configProxy.enable: if configProxy.enable:
browser.session.proxies = configProxy.proxies() browser.session.proxies = configProxy.proxies()
@@ -104,9 +109,12 @@ def get_html_by_browser(url, cookies: dict = None, ua: str = None, return_type:
def get_html_by_form(url, form_select: str = None, fields: dict = None, cookies: dict = None, ua: str = None, return_type: str = None): def get_html_by_form(url, form_select: str = None, fields: dict = None, cookies: dict = None, ua: str = None, return_type: str = None):
browser = mechanicalsoup.StatefulBrowser(user_agent=G_USER_AGENT if ua is None else ua) if isinstance(cookies, dict) and len(cookies):
if isinstance(cookies, dict): s = requests.Session()
requests.utils.add_dict_to_cookiejar(browser.session.cookies, cookies) requests.utils.add_dict_to_cookiejar(s.cookies, cookies)
browser = mechanicalsoup.StatefulBrowser(user_agent=G_USER_AGENT if ua is None else ua, session=s)
else:
browser = mechanicalsoup.StatefulBrowser(user_agent=G_USER_AGENT if ua is None else ua)
configProxy = config.getInstance().proxy() configProxy = config.getInstance().proxy()
if configProxy.enable: if configProxy.enable:
browser.session.proxies = configProxy.proxies() browser.session.proxies = configProxy.proxies()