当前位置 博文首页 > lexsaints:【python实战】怎么用python自动登录CSDN

    lexsaints:【python实战】怎么用python自动登录CSDN

    作者:[db:作者] 时间:2021-08-05 15:51

    目录

    页面分析

    引入selenium模块及驱动

    1、并将安装好的Chromedriver.exe引入到代码中

    2、浏览器驱动引入

    爬虫模拟登录

    1、设置网址链接

    2、切换到账号密码登录

    3、找到用户名密码的控件ID

    4、注入用户名和密码

    5、模拟登录点击

    成功登录CSDN


    先上效果

    页面分析

    CSDN登录页面如下图

    引入selenium模块及驱动

    1、并将安装好的Chromedriver.exe引入到代码中

    # -*- coding:utf-8 -*-
    from selenium import webdriver  
    import os
    import time
    #引入chromedriver.exe
    chromedriver="C:/Users/lex/AppData/Local/Google/Chrome/Application/chromedriver.exe"
    os.environ["webdriver.chrome.driver"] = chromedriver
    browser = webdriver.Chrome(chromedriver)

    2、浏览器驱动引入

    驱动下载地址:

    https://download.csdn.net/download/weixin_42350212/14983610

    将驱动下载后,复制chromedriver.exe 到谷歌浏览器的安装路径下,与Chrome.exe启动文件并列的目录下:

    爬虫模拟登录

    1、设置网址链接

    #设置浏览器需要打开的url
    url = "https://passport.csdn.net/login?code=public"  
    browser.get(url)

    2、切换到账号密码登录

    使用selenium模拟点击 账号密码登录的选项

    #使用selenium选择 账号登录按钮
    browser.find_element_by_link_text("账号密码登录").click()

    3、找到用户名密码的控件ID

    4、注入用户名和密码

    根据页面代码分析,获得用户名的id属性为all,密码的id属性为password-number

    使用python代码,注入用户名密码

    browser.find_element_by_id("all").clear()
    browser.find_element_by_id("all").send_keys("xxxx@gmail.com")
    time.sleep(2)
    browser.find_element_by_id("password-number").clear()
    browser.find_element_by_id("password-number").send_keys("1212121212")

    5、模拟登录点击

    分析页面结构,模拟点击登录按钮。

    分析可获得,登录按钮的class属性为btn btn-primary,根据class来锁定该按钮

    time.sleep(1)
    #增加一秒钟的时间间隔
    browser.find_element_by_css_selector("[class='btn btn-primary']").click()

    成功登录CSDN

    完整代码

    # -*- coding:utf-8 -*-
    import os
    import time
    from selenium import webdriver # 从selenium导入webdriver
    from selenium.webdriver.common.by import By
    from selenium.webdriver.support.ui import WebDriverWait
    from selenium.webdriver.support import expected_conditions as EC
    from selenium.webdriver.chrome.options import Options
    import json
    import time
    #引入chromedriver.exe
    chromedriver="C:/Users/lex/AppData/Local/Google/Chrome/Application/chromedriver.exe"
    os.environ["webdriver.chrome.driver"] = chromedriver
    browser = webdriver.Chrome(chromedriver)
    #设置浏览器需要打开的url
    url = "https://passport.csdn.net/login?code=public"  
    browser.get(url)
    browser.find_element_by_link_text("账号密码登录").click()
    browser.find_element_by_id("all").clear()
    browser.find_element_by_id("all").send_keys("你的邮箱地址")
    time.sleep(1)
    browser.find_element_by_id("password-number").clear()
    browser.find_element_by_id("password-number").send_keys("你的登录密码")
    time.sleep(1)
    browser.find_element_by_css_selector("[class='btn btn-primary']").click()

    推荐阅读

    python实战

    【python实战】前女友婚礼,python破解婚礼现场的WIFI,把名称改成了

    【python实战】前女友发来加密的 “520快乐.pdf“,我用python破解开之后,却发现

    【python实战】昨晚,我用python帮隔壁小姐姐P证件照 自拍,然后发现...

    【python实战】女友半夜加班发自拍 python男友用30行代码发现惊天秘密

    【python实战】python你TM太皮了——区区30行代码就能记录键盘的一举一动

    【python实战】女神相册密码忘记了,我只用Python写了20行代码~~~

    pygame系列文章【订阅专栏,获取完整源码】

    一起来学pygame吧 游戏开发30例(二)——塔防游戏

    一起来学pygame吧 游戏开发30例(四)——俄罗斯方块小游戏

    渗透测试实战专栏

    Windows AD/Exchange管理专栏

    Linux高性能服务器搭建?

    PowerShell自动化专栏

    CSDN官方学习推荐 ↓ ↓ ↓

    CSDN出的Python全栈知识图谱,太强了,推荐给大家!

    ??

    ?

    cs