zoukankan      html  css  js  c++  java
  • 自动登陆抽屉(1)

    首先打开抽屉网址:

    从这里可以看到登陆抽屉的请求url和请求方式;继续拉到底部可以看到form表单传递的数据

    这样我们可以先写一个简单的请求

    import requests
    
    response = requests.post(
        url='https://dig.chouti.com/login',
        data = {
            'phone': '8615921302790',
            'password': 'aaaaaa',
            'oneMonth': '1'
        }
    )

    然后我们print(response.text)来初步看看拿到了什么

    我们在浏览器上输入用户名和不正确的密码,然后分析看到下面的提示

    我们再爬取当前页网址

    response = requests.get(
        url='https://dig.chouti.com/all/hot/recent/1'
    )
    print(response.text)

    print之后发现还是一样的结果,这时,已经可以推测出网站有防爬虫策略。说明爬虫伪装浏览器访问模仿的不够彻底。我们再来分析浏览器访问当前页面的请求

    可以看出请求时有很多请求头,后面还有个user-agent,是用户访问的设备信息,复制这个信息,我们再对刚才的请求进行改造

    response = requests.get(
        url='https://dig.chouti.com/all/hot/recent/1',
        headers = {
            'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36'
        }
    )
    print(response.text)

    这次print发现终于能爬下页面了。说明已经绕过防爬虫策略。我们再来更改登陆请求代码

    response = requests.post(
        url='https://dig.chouti.com/login',
        data = {
            'phone': '8615921302790',
            'password': 'a123456789!',
            'oneMonth': '1'
        },
        headers = {
            'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/67.0.3396.87 Safari/537.36'
        }
    )
    print(response.text)

    print之后得到:

     

    我把自己登陆密码改对后再print一次

    已经能成功模拟登陆,9999表示已经登陆成功。

  • 相关阅读:
    父类引用指向子类对象详解
    词尾的-sion和-tion的发音规则
    att&ack学习笔记6
    att&ack框架学习笔记5
    att&ack学习笔记4
    att&ck框架学习笔记3
    att&ck学习笔记2
    att&ck学习笔记1
    kerberos系列之spark认证配置
    kerberos系列之kerberos安装
  • 原文地址:https://www.cnblogs.com/Black-rainbow/p/9215343.html
Copyright © 2011-2022 走看看