zoukankan      html  css  js  c++  java
  • 绕过验证码登陆的方法(适合只需登陆一次可以记住登陆台的网站)

    selenium获取cookies

    1.大前提:先手工操作浏览器,登录我的博客,并记住密码
    (保证关掉浏览器后,下次打开浏览器访问我的博客时候是登录状态)
    2.selenium默认启动浏览器是一个空的配置,默认不加载配置缓存文件,这里先得找到对应浏览器的配置文件地址,以火狐浏览器为例
    3.使用driver.get_cookies()方法获取浏览器的cookies

    # coding:utf-8
    import requests
    from selenium import webdriver
    from bs4 import BeautifulSoup
    import re
    import time
    # firefox浏览器配置文件地址
    profile_directory = r'C:UsersadminAppDataRoamingMozillaFirefoxProfilesyn80ouvt.default'
    # 加载配置
    profile = webdriver.FirefoxProfile(profile_directory)
    # 启动浏览器配置
    driver = webdriver.Firefox(profile)
    
    driver.get("https://home.cnblogs.com/u/yoyoketang/followers/")
    
    time.sleep(3)
    cookies = driver.get_cookies()  # 获取浏览器cookies
    print(cookies)
    driver.quit()

    (注:要是这里脚本启动浏览器后,打开的博客页面是未登录的,后面内容都不用看了,先检查配置文件是不是写错了)

    requests添加登录的cookies

    1.浏览器的cookies获取到后,接下来用requests去建一个session,在session里添加登录成功后的cookies

    s = requests.session()  # 新建session
    
    # 添加cookies到CookieJar
    c = requests.cookies.RequestsCookieJar()
    for i in cookies:
        c.set(i["name"], i['value'])
    
    s.cookies.update(c)  # 更新session里cookies

    计算粉丝数和分页总数

    1.由于我的粉丝的数据是分页展示的,这里一次只能请求到45个,所以先获取粉丝总数,然后计算出总的页数

    # 发请求
    r1 = s.get("https://home.cnblogs.com/u/yoyoketang/relation/followers")

    参考: https://www.cnblogs.com/yoyoketang/p/8610779.html
  • 相关阅读:
    使用Mysql慢查询日志对有效率问题的SQL进行监控
    wampserver3.1.0安装及配置
    Composer
    HTML5 本地存储(Web Storage)
    HTML5 元素拖动
    生成验证码
    git 基础命令
    POI使用流程
    JDK各版本新特性总结
    dubbo+zookeeper项目搭建
  • 原文地址:https://www.cnblogs.com/kaibindirver/p/11285628.html
Copyright © 2011-2022 走看看