综合百科

获取cookie的方式有哪些

这里采用python2.7

第一种:mechanize

首先我们要使用mechanize,第一步:

pipinstallmechanize

第二步编写获取cookie代码:

importosimportmechanizeimportcookielib,rebr=mechanize.Browser()cj=cookielib.LWPCookieJar()br.set_cookiejar(cj)br.set_handle_equiv(True)br.set_handle_gzip(True)br.set_handle_redirect(True)br.set_handle_referer(True)br.set_handle_robots(False)br.set_handle_refresh(mechanize._http.HTTPRefreshProcessor(),max_time=1)br.set_debug_http(True)br.addheaders=[('User-agent','用户ua')]br.set_proxies({"http":"代理"})response=br.open('https://www.amazon.com')cj=br._ua_handlers['_cookies'].cookiejarforcookieincj:print("cookieName:"+cookie.name)print("cookieValue:"+cookie.value)cookie=[item.name+":"+item.valueforitemincj]cookiestr={}foritemincookie:name,value=item.split(":")cookiestr[name]=value

运行结果:

第二种:urllib

importurllib2importcookielibfromhttpimportcookiejarfrombs4importBeautifulSoupUser_Agent='Mozilla/5.0(WindowsNT10.0;Win64;x64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/73.0.3683.86Safari/537.36'header={}header['User-Agent']=User_Agentcookie=cookiejar.CookieJar()cookie_handle=urllib2.HTTPCookieProcessor(cookie)cookie_opener=urllib2.build_opener(cookie_handle)#proxy_support=urllib2.ProxyHandler({"http":"5.62.157.47:8085"})#proxy_opener=urllib2.build_opener(proxy_support)urllib2.install_opener(cookie_opener)#urllib2.install_opener(proxy_opener)request=urllib2.Request("https://www.amazon.com",headers=header)response=urllib2.urlopen(request)foritemincookie:print('Name='+item.name)print('Value='+item.value)

运行结果:

第三种:requests

importrequestsheaders={'user-agent':'Mozilla/5.0(WindowsNT10.0;Win64;x64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/73.0.3683.86Safari/537.36'}r=requests.get('https://www.amazon.com',headers=headers)forcookieinr.cookies:print(cookie.name)print(cookie.value)print("=========")

运行结果:

第四种:selenium(个人感觉这个虽然加载比较慢,但是获取cookie最全)

pipinstallselenium

代码:

fromseleniumimportwebdriverdriver=webdriver.Chrome(executable_path='d:/seop/chromedriver.exe')driver.get("https://www.amazon.com")#forcincookiestr.keys():#driver.add_cookie({'name':c,'value':cookiestr[c]})#driver.get("https://www.amazon.com")cookie=[item["name"]+"="+item["value"]foritemindriver.get_cookies()]cookiestr=';'.join(itemforitemincookie)

运行结果: