def wrapper(client, method, url, body=None, headers=None): cookiejar = LWPCookieJar() cookiejar._really_load( StringIO("#LWP-Cookies-2.0\n" + client.credential.get(field,'')), "cookies.txt",True,True) req = Request(url, body, headers or {}, method=method) cookiejar.clear_expired_cookies() cookiejar.add_cookie_header(req) status, headers, body = request(client,req.method,req.full_url,req.data,dict(req.header_items())) response = addinfourl(None, headers, req.full_url, status) cookiejar.extract_cookies(response,req) client.credential[field] = cookiejar.as_lwp_str() return (status, headers, body)
def wrapper(client, method, url, body=None, headers=None): cookiejar = LWPCookieJar() cookiejar._really_load( StringIO("#LWP-Cookies-2.0\n" + client.credential.get(field, '')), "cookies.txt", True, True) req = Request(url, body, headers or {}, method=method) cookiejar.clear_expired_cookies() cookiejar.add_cookie_header(req) status, headers, body = request(client, req.method, req.full_url, req.data, dict(req.header_items())) response = addinfourl(None, headers, req.full_url, status) cookiejar.extract_cookies(response, req) client.credential[field] = cookiejar.as_lwp_str() return (status, headers, body)
class Ggrks: USER_AGENT = 'Mozilla/5.0 (compatible; MSIE 8.0; Windows NT 6.0)' def __init__(self): self.home_folder = os.getenv('HOME') if not self.home_folder: self.home_folder = os.getenv('USERHOME') if not home_folder: self.home_folder = '.' # Use the current folder on error. self.cookie_jar = LWPCookieJar(os.path.join(self.home_folder, '.google-cookie')) try: self.cookie_jar.load() except Exception: pass def search(self, url:str) -> str: ''' ググったHTMLを返す ''' request = Request(url) request.add_header('User-Agent', Ggrks.USER_AGENT) # cookie_jar.add_cookie_header(request) # GET with urlopen(request) as response: # cookieの保管 self.cookie_jar.extract_cookies(response, request) html = response.read() # cookieをファイル保管 self.cookie_jar.save() return html return '' def next(): return ''