cookie 的寻找和使用以及页面滚动(python+selenium)

cookie:

本文以登录的自己的 知乎 为例,找到当前的cookie信息,然后让浏览器带着自己的cookie信息去访问 网址:知乎

在goole浏览器下面 Ctrl+shift+J  (F12)打开console工作台->application->cookie里面找到登录以后的cookie信息 将他写到你的浏览器里面就可以了!

import io
import sys
#改变标准输出的默认编码(改变中文输出的乱码问题)
sys.stdout=io.TextIOWrapper(sys.stdout.buffer,encoding='utf8')

#导入selenium的浏览器驱动接口
from selenium import webdriver
from time import sleep
driver = webdriver.Chrome("C:Program Files (x86)GoogleChromeApplicationchromedriver.exe")
 # 加载知乎主页,查看快照知此时处于未登录状态
driver.get("https://www.zhihu.com")
sleep(1)
print(driver.save_screenshot("zhihu_nocookies.png"))

    # 操作浏览器登录知乎并抓包cookies
zhihu_cookies = {
        #第一个cookie信息不要,注释掉
     #'_xsrf':'    4Aehy9uAVpUQwh63ft2lgIFMZSwlqGs7',            
     '_zap':    '047801d6-2a5c-490d-89eb-14c27fed8f63'    ,        
     'capsion_ticket'    :"2|1:0|10:1568897272|14:capsion_ticket|44:NDA4MmQwZjI1MGVmNGI2OGIwMzdjODViYTdmZDhjMWI=|b491fbdbb7c4a73a344512fabd38111217ff6846d10c831a266fd0a0119856a2"    ,
     'd_c0':    "ANCi2eDKEw-PTp0vSECsR7vX7XcdN1VL5b4=|1551806289"    ,            
     'q_c1':    'ee90e06b16e049d2b6395ae23eb3328d|1551806291000|1551806291000',
     'tgw_l7_route':    '060f637cd101836814f6c53316f73463',            
     'tgw_l7_route':    '18884ea8e9aef06cacc0556da5cb4bf1',                
     'tgw_l7_route':    '060f637cd101836814f6c53316f73463',                
     'tst':    'r'    ,                
     'z_c0':    "2|1:0|10:1568897286|4:z_c0|92:Mi4xemNkekNRQUFBQUFBMEtMWjRNb1REeVlBQUFCZ0FsVk5Cc2R3WGdBalhkbVNieHZUY3dLMTA0RlFHVFBiNjh5RjFR|c90ecb48ce8d612f537305315f543bcdf43d0ad588d28618896faacd085f11fd"    ,

    }

    # 将用户登录产生的cookies全部添加到当前会话
for k, v in zhihu_cookies.items():
        driver.add_cookie({'domain': '.zhihu.com', 'name': k, 'value': v})

    # 再次访问知乎主页并拍照,此时已经是登录状态了
driver.get("https://www.zhihu.com")
sleep(3)
print(driver.save_screenshot("zhihu_cookies.png"))
#模拟滚动条的滚动(这个用常规的爬虫很难实现)

    # 加载知乎主页
 # 将页面滚动到最后,执行多次
for i in range(3):
        js = "var q=document.documentElement.scrollTop=10000"
        driver.execute_script(js)
        sleep(3)

    # 截图并退出,页面侧边滚动条已经下滑了许多像素
print(driver.save_screenshot("zhihu_scroll.png"))
# 退出浏览器
driver.quit()
原文地址:https://www.cnblogs.com/kekexxr/p/11552873.html