• 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()
  • 相关阅读:
    AngularJS笔记---数据绑定
    Javascript笔记--函数
    C#笔记---动态类(Dynamic)应用
    Javascript笔记--Objects
    Javascript笔记----实现Page页面右下角置顶按钮.
    C#基础---扩展方法的应用
    .Net程序员之Python基础教程学习----函数和异常处理[Fifth Day]
    1.3 函数式接口
    1.2 lambda 表达式的语法
    1.1 为什么要使用lambda 表达式
  • 原文地址:https://www.cnblogs.com/kekexxr/p/11552873.html
Copyright © 2020-2023  润新知