Selenium读取cookie实现自动登录

这几天一直想搞明白cookie的爬虫使用,结果从昨天晚上开始试验,selenium获取的cookie怎么也无法实现直接登录,气的想打人。在刚才终于发现一些问题,在和浏览器中的cookie对比发现格式不一样,然后对着他进行格式改变,结果终于成功了,现在以一个模拟登录扣扣空间的例子:

这是模拟点击登录扣扣空间

我请求的这个网址是在分析的时候发现的,发现登录二维码是在一个这样的页面里,这样就很容易的点击进入空间

 
 

  
  
  1. from selenium import webdriver
  2. import time
  3. import json

  
  
  1. driver.get(
  2. "https://xui.ptlogin2.qq.com/cgi-bin/xlogin?proxy_url=https%3A//qzs.qq.com/qzone/v6/portal/proxy.html&daid=5&&hide_title_bar=1&low_login=0&qlogin_auto_login=1&no_verifyimg=1&link_target=blank&appid=549000912&style=22&target=self&s_url=https%3A%2F%2Fqzs.qzone.qq.com%2Fqzone%2Fv5%2Floginsucc.html%3Fpara%3Dizone&pt_qr_app=手机QQ空间&pt_qr_link=http%3A//z.qzone.com/download.html&self_regurl=https%3A//qzs.qq.com/qzone/v6/reg/index.html&pt_qr_help_link=http%3A//z.qzone.com/download.html&pt_no_auth=0")
  3. button=driver.find_element_by_class_name("face")
  4. # print(button)
  5. button.click()
  6. time.sleep(5)
  7. print(driver.current_url)
  8. text=driver.page_source
  9. cookie = driver.get_cookies()
  10. print(cookie)
  11. jsonCookies = json.dumps(cookie)
  12. with open('qqhomepage.json', 'w') as f:
  13. f.write(jsonCookies)

这样就将获取的cookie保存到文件里了,接下来我们来整理cookie,将至整理为我们需要的格式


  
  
  1. import json
  2. str=''
  3. with open('qqhomepage.json','r',encoding='utf-8') as f:
  4. listCookies=json.loads(f.read())
  5. cookie = [item["name"] + "=" + item["value"] for item in listCookies]
  6. cookiestr = '; '.join(item for item in cookie)
  7. print(cookiestr)
这里我们就获得了需要的cookie值
  
  

特别注意:

我就是栽倒在这里的cookie格式里面;

每一句‘name’+'value'后面都要加分号和空格,格式不正确不能使用,牢记牢记

最后我们来验证获取的cookie是否能用;


  
  
  1. import requests
  2. url='https://user.qzone.qq.com/1329818994'
  3. headers={
  4. 'cookie':cookiestr,
  5. 'user-agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/66.0.3359.181 Safari/537.36'
  6. }
  7. html=requests.get(url=url,headers=headers)
  8. print(html.text)

这里的cookie设置为你从文件里读取的cookie

猜你喜欢

转载自blog.csdn.net/u011078141/article/details/89735363
今日推荐