Python3 +硒实现饼干免密登录的示例代码

  

进过两天的研究终于实现了饼干的免密登录,其实就是会话。特别开心,因为Python爬在虫群里问那些大佬,可是他们的回答令我寒心,自己琢磨! ! !

  

靠谁比如靠自己,为此我总结下经验,以免入门的小白再次踩这样的吭。其实网上很多博客写的都比较不详细甚

  

首先问题自己思考,不懂得去群里问问,然后最重要的要理解事物的本质,只有理解后才能运用它,最后在百度一下把所有相关的博客都点开,一条一条的看一遍总结下规律,比较喽的就舍弃,这样基本上都能得到启发作用,比如硒的本质就是操作浏览器的,那么操作饼也是操作浏览器的,并且用硒打开浏览器时什么都没有,如果进入某个网站就会生成饼干先关信息。等待,那么我们可以用硒打开网站之后让他清除所有饼干避免干扰,然后睡眠20秒以便等我们登陆,这是就会产生曲奇,我们将它获取下来就可以实现登陆了。

  

下面直接上代码:

        #登录   def login_jd ():   #登录前清除所有饼干   browser.get (“https://www.baidu.com/?   browser.delete_all_cookies ()      #打印登录前的饼干   cookieBefore=browser.get_cookies ()   打印(cookieBefore)      打印(“- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -”)   time . sleep (2)   list_cookies=[   {“域”:“.baidu.com”,“httpOnly”:假的,“名字”:“H_PS_PSSID”,“路径”:“/?“安全”:假的,“价值”:“1420 _21120_29074_29237_2518_2909_29134_2832_28585_26350_2913},   {“域”:“.baidu.com”,“到期”:159184274.325927,“httpOnly”:假的,“名字”:“BAIDUID”,“路径”:“/?“安全”:假的,“价值”:“FF789623EA1785FF0D55ED0401D057B2: FG=1”},   {“域”:“www.baidu.com”,“到期”:1563289,“httpOnly”:假的,“名字”:“BD_UPN”,“路径”:“/?“安全”:假的,“价值”:“123143”},   {“域”:“.baidu.com”,“到期”:1560354688.892916,“httpOnly”:假的,“名字”:“BDORZ”,“路径”:“/?“安全”:假的,“价值”:“B490B5BF6F3CD40255D22BCDA1598”},   {“域”:“.baidu.com”,“到期”:1819468287.471656,“httpOnly”:真的,“名字”:“BDUSS”,“路径”:“/?“安全”:假的,“价值”:“tGem1JzblNpOa1VVek0yLThmbWR6RxENWZtcVNwUThpT2hCLTVsUFBQUFBJCQAAAAAAAAAAAEAAAA4MdBAd3d3d2dnZ2dnZWVlZWUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALkI ~ 1 y5cp9cvm”},   {“域”:“.baidu.com”,“到期”:2569420288,“httpOnly”:假的,“名字”:“BIDUPSID”,“路径”:“/?“安全”:假的,“价值”:“587 a2695fcd6d043a5fe5139e4f},   {“域”:“.baidu.com”,“到期”:3707755.819949,“httpOnly”:假的,“名字”:“PSTM”,“路径”:“/?“安全”:假的,“价值”:“156027786”},   {“域”:“www.baidu.com”,“httpOnly”:假的,“名字”:“BD_HOME”,“路径”:“/?“安全”:假的,“价值”:' 1 '}   ]      #获取之后的饼干   饼干=browser.get_cookies ()   print (browser.get_cookies ())      #将获取的的所有饼干添加到浏览器   饼干在list_cookies:   browser.add_cookie(饼干)   打印(饼干)   time . sleep (2)   #刷新页面即可更新饼干   browser.refresh ()   time . sleep (505)   browser.quit ()      

 Python3 +硒实现饼干免密登录的示例代码

  

 Python3 +硒实现饼干免密登录的示例代码

  

<强>示例二:

  

首先使用用户名和账号,登录获取饼干
  

        进口json   导入的时间   从selenium.webdriver.chrome。选择导入选项   从硒进口webdriver   从selenium.webdriver.support。等进口WebDriverWait   从selenium.common.exceptions进口NoSuchElementException         类爬虫():   def收集():   chrome_options=选项()   chrome_options.add_argument(窗口大?1024,768)   司机=webdriver。铬(chrome_options=chrome_options executable_path=" C: \ devtool \蟒蛇\ Scripts \ chromedriver”)   等待=WebDriverWait(司机,1)   # #登录百度知道   logurl=' https://zhidao.baidu.com/'   #登录前清楚所有饼干   driver.delete_all_cookies ()   driver.get (logurl)   # #登录前打印饼干   print (driver.get_cookies ())      # #点击登录按钮   driver.find_element_by_xpath ('//* [@ id=" userbar-login "]”) .click ()   # driver.find_element_by_id (“userbar-login”) .click ()   time . sleep (2)   # #首次尝试的默认进入扫码登录的界面   试一试:   footerULoginBtn=driver.find_element_by_xpath ('//* [@ id=" TANGRAM__PSP_10__footerULoginBtn "]”)   footerULoginBtn.click() #切换到用户名和密码登录   footerULoginBtn_not_exist=False   除了:   footerULoginBtn_not_exist=True      # #用户名跟密码的设置并点击提交   用户=driver.find_element_by_name(用户名)   user.clear ()   pwd=driver.find_element_by_name(密码)   pwd.clear ()   提交=driver.find_element_by_id (“TANGRAM__PSP_10__submit”)   time . sleep (2)   user.send_keys(“用户名”)   pwd.send_keys(“密码”)   time . sleep (1)   submit.click ()   time . sleep (1)   # #发送手机验证码验证   # #点击发送按钮   # # #是否需要输入手机验证码   试一试:   driver.find_element_by_xpath ('//* [@ id=" TANGRAM__28__button_send_mobile "]”) .click ()   time . sleep (10)   # #使用壳交互式,接受验证码   消息=输入(“验证码告诉我:”)   # #输入验证码   验证码=driver.find_element_by_xpath ('//* [@ id=" TANGRAM__28__input_label_vcode "]”)   time . sleep (1)   captcha.send_keys(消息)   time . sleep (1)   # #点击提交   driver.find_element_by_xpath ('//* [@ id=" TANGRAM__28__button_submit "]”) .click ()   time . sleep (3)   除了:   time . sleep (1)      # # #获取饼干   饼干=driver.get_cookies ()   打印(饼干)   jsonCookies=json.dumps(饼干)   张开(“vcyber。json”、“w”)作为f:   f.write (jsonCookies)      time . sleep (30)      Crawler.gather ()

Python3 +硒实现饼干免密登录的示例代码