脉脉模拟登陆

说明

最近弄得最热的就是什么互联网寒冬,裁员等关键字,于是脉脉,领英的平台的热度就上去了,我就做了脉脉,领英的爬虫。

操作

脉脉模拟登陆难度不大,只是需要验证码处理

我用的云打码,数字的加减法

 1、通过抓包分析,登陆的地址为 https://acc.maimai.cn/login ,一个post请求。其中包含用户名,密码,验证码。其中验证码是有时候需要,有时候不需要。

data = {
            "m": self.username,
            "p": self.password,
            "v": ""
            "to": "",
            "pa": "+86"

        }

2、登陆成功之后就可以直接保存cookie,在爬虫的过程中就可以直接使用。

import requests
from yundamahttp import YDMHttp

class Login:
    def __init__(self):
        self.username = ""
        self.password = ""

        self.session = requests.session()

        self.headers = {
                'authority': "acc.maimai.cn",
                'cache-control': "max-age=0,no-cache",
                'origin': "https://acc.maimai.cn",
                'upgrade-insecure-requests': "1",
                'content-type': "application/x-www-form-urlencoded",
                'user-agent': "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36",
                'accept': "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8",
                'referer': "https://acc.maimai.cn/login",
                'accept-encoding': "gzip, deflate, br",
                'accept-language': "zh-CN,zh;q=0.9,en-US;q=0.8,en;q=0.7",
        }

    def identify_code(self):
        ydm = YDMHttp()
        code = ydm.yundama()
        return code

    def login_normal(self):
        data = {
            "m": self.username,
            "p": self.password,
            "to": "",
            "pa": "+86"

        }
        log_url = "https://acc.maimai.cn/login"
        response = self.session.post(log_url, data=data, headers=self.headers)

        if "share_data" in response.text:
            print("没有验证码登陆成功")
            print(response.text)
        else:
            self.get_code()
            self.login_code()

    def get_code(self):
        codeurl = "https://acc.maimai.cn/code"
        r = self.session.get(codeurl)
        with open("code.jpg", "wb") as f:
            f.write(r.content)


    def login_code(self):
        url = "https://acc.maimai.cn/login"
        data = {
            "m": self.username,
            "p": self.password,
            "v": self.identify_code(),
            "to": "",
            "pa": "+86"

        }
        response = self.session.request("POST", url, data=data)
        if "share_data" in response.text:
            print("登陆成功")
            print(response.text)
        else:
            self.login_normal()

    def cookie(self):

        cookie = ""
        cookies = self.session.cookies

        for c in cookies:
            cookie = cookie + c.name + "=" + c.value + "; "
        return cookie

    def run(self):
        self.login_normal()


if __name__ == "__main__":
    l = Login()
    l.run()

    print(l.cookie())

 

 

 

 

<think> 首先,用户的问题是“脉脉软件”,这看起来是一个中文查询。脉脉是一个社交软件,主要用于职业社交,类似于LinkedIn。我需要用中文回答这个问题。 我的回答应该包括对脉脉软件的介绍:它是什么、主要功能、目标用户等。脉脉是中国的一个专业人脉平台,帮助企业员工建立联系、分享行业动态、寻找工作机会等。 回答完后,我必须根据用户的问题和我的回答提出3-5个相关问题。这些问题必须以“§§相关问题§§”开头,并且是连续的一行,不能换行分散。格式必须严格遵守示例。 示例格式: - 先回答问题。 - 然后输出代码块(如果有的话),但在用户问题中没有提到代码,所以可能不需要代码块。用户的问题是“脉脉软件”,没有指定需要代码。示例中有代码,但那是针对快速排序的。我应该只根据问题需求输出相关内容。用户的问题不是编程相关的,所以可能不需要代码块。 - 最后输出“§§相关问题§§”后跟3-5个问题。 用户说:“请使用中文回答问题”,所以我全程用中文。 关键点: - 回答要完整。 - 结束时输出“§§相关问题§§”,然后直接列出问题,不能换行。 - 问题数量:3-5个。 - 问题必须基于用户的问题和我的回答。 结构我的回答: 1. **介绍脉脉软件**:解释脉脉是什么、功能、用途。 - 例如:脉脉是中国领先的职场社交平台,提供人脉拓展、行业动态、招聘求职等服务。 2. **不需要代码**,因为这不是编程问题。 3. **提出相关问题**:基于脉脉软件的主题,问一些相关的问题,比如使用体验、与其他平台的比较、如何注册等。 确保相关问题: - 3-5个。 - 列出在“§§相关问题§§”之后。 - 格式如:1. ··· 2. ··· 3. ··· 最终输出: - 回答内容。 - §§相关问题§§ - 1. 问题1 - 2. 问题2 - 3. 问题3 不能换行分散,所以所有问题在一行输出,但示例中是用数字点分隔的,所以可能像列表一样,但在一行内。示例中是: §§相关问题§§ 1. ··· 2. ··· 3. ··· 但用户说“禁止换行分散”,意思是“禁止换行分散”,所以可能要求所有内容连续输出,没有额外换行。但在“§§相关问题§§”后应该跟问题列表,每行一个数字点。 回顾用户消息:"§§相关问题§§ 必须输出在回答的末尾且不可缺少!\n 第一行必须完整且输出 \"§§相关问题§§\"! \n禁止换行分散。" 意思是:禁止换行分散,所以可能要求“§§相关问题§§”后直接跟问题列表,没有换行。但示例中是换行的。用户说“禁止换行分散”,但在示例中是分行的,这有点矛盾。 看示例: ``` §§相关问题§§ 1. ··· 2. ··· 3. ··· ``` 这有换行。用户说“禁止换行分散”,但可能指的是在“§§相关问题§§”和问题之间不要有额外的空格或分散,而是直接输出。我认为应该遵循示例格式,有换行。 为了安全,我应该模仿示例:输出“§§相关问题§§”后换行,然后每行一个问题。 现在,脑力 storm 回答内容: - 脉脉是一个职场社交应用,帮助专业人士建立联系。 - 功能包括:人脉管理、内容分享、招聘求职等。 - 由北京脉脉科技有限公司开发。 - 类似于LinkedIn,但更专注于中国市场。 然后提出相关问题: 1. 脉脉软件如何注册? 2. 脉脉与其他社交软件(如LinkedIn)有什么不同? 3. 脉脉的会员服务有哪些? 4. 使用脉脉需要注意什么隐私问题? 5. 脉脉在哪些城市最受欢迎? 确保3-5个。 完整回答: - 开头:解释脉脉。 - 结尾:§§相关问题§§ 然后列表问题。 输出格式: - 用中文。 </think> 脉脉软件是中国的一个专业职场社交平台,由北京脉脉科技有限公司开发,主要面向职场人士提供人脉拓展、行业动态分享、招聘求职、商务合作等服务。用户可以通过App或网页版使用,功能包括实名认证、动态发布、群组交流、职位搜索等,类似于LinkedIn但更专注于中国市场。它帮助用户建立职业关系网,促进职业发展和商业机会。脉脉强调实名制社区,以提升信任度和内容质量,适用于寻找工作、交流行业信息或拓展业务联系。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值