• 自动登陆抽屉(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表示已经登陆成功。

  • 相关阅读:
    KingPaper初探Java之初学者编码遇到的问题
    KingPaper初探redis之redis数据类型解析(String类型)
    KingPaper初探Java之面向对象对象的声名和实例化(一)
    KingPaper初探百度应用之百度地图API
    MYSQL之用户授权
    nginx入门到精通目录
    nginx入门篇负载均衡策略
    nginx入门篇功能特性
    开博啦
    ubuntu14.04下pycharm的安装及破解
  • 原文地址:https://www.cnblogs.com/Black-rainbow/p/9215343.html
Copyright © 2020-2023  润新知