python3 ---requests ,xpath 爬虫登录实战源码(token值)


import requests
from lxml import etree


# 封装类  进行登录和订单的获取
class LMonKey:
    # 登录请求地址
    loginurl = 'https://www.lmonkey.com/login'
    # 账户中心地址
    orderurl = 'https://www.lmonkey.com/my/order'
    # 请求头header
    headers = {
        'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4146.4 Safari/537.36'
    }
    # 请求对象
    req = None
    # token口令
    token = ''

    # 初始化方法
    def __init__(self):
        # 请求对象的初始化
        self.req = requests.session()

    # get 登录页面 获取_token
    def getlogin(self):
        # 1.get请求 login页面 ,设置cookie,获取_token
        res = self.req.get(url=self.loginurl, headers=self.headers)
        if res.status_code == 200:
            print('get登录页面请求成功')
            html = etree.HTML(res.text)
            self.token = html.xpath('//input[@name="_token"]/@value')[0]
            print(self.token)
            print('token获取成功')
        else:
            print('token获取失败')

    #  post请求登录 设置cookie
    def postlogin(self):
        uname = input('账号:')
        passw = input('密码:')
        print('token值为:。。。', self.token)
        data = {
            '_token': self.token,
            # '_token': 'FrvAuubaMzKblNt9hVANj4PA6Q7xyPNgAd58ONKs',
            'username': uname,
            'password': passw
        }
        res = self.req.post(url=self.loginurl, headers=self.headers, data=data)
        # print(res.text)
        if res.status_code == 200 or res.status_code == 302:
            print('登录成功')
        else:
            print('登录失败')
            print(res.status_code)


obj = LMonKey()
obj.getlogin()
obj.postlogin()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值