爬取脉脉网数据

查看 37|回复 0
作者:孤霜情冷点朱砂   


1.png (109.5 KB, 下载次数: 0)
下载附件
2023-7-10 19:08 上传

URL:https://maimai.cn/
技术需求:1.需要登录才能访问,使用人工登陆+获取cookie的方式绕过登录
                 2.需要Ajax进行异步访问
                 3.通过抓包获取结果
代码如下:
[Python] 纯文本查看 复制代码import requests
import json
headers = {
    "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36",
    "Cookie": "", #填入自己的cookie
    "X-Csrf-Token": "12136vux-ycWY72FoKjbUsFfLYfqgVBQoRlA",
}
# https://maimai.cn/sdk/web/content/get_list?api=gossip%2Fv3%2Fsquare&u=239689746&page=2&before_id=0
# ?后面的数据不需要复制,那是载荷中提供的参数
url = "https://maimai.cn/sdk/web/content/get_list"
def crawl_page(num):
    param = {
        "api": "gossip/v3/square",
        "u": "239689746",
        "page": f"{num}",
        "before_id": "0"
    }
    r = requests.get(url, headers=headers, params=param)
    data = json.loads(r.text)
    datas = []
    for text in data["list"]:
        # print(text['text'])
        datas.append(text["text"])
    return datas
with open("脉脉结果.txt","w",encoding="utf8")as f:
    for page in range(11):
        print("craw page %s"%page)
        datas = crawl_page(page)
        f.write("\n".join(datas)+"\n")
需要注意的点:
1.headers中的数据需要根据经验来设置,实在不行可以将请求标头的所有内容写入进去。
2.爬取的网页是通过
Ajax异步加载的,所以爬取的网页需要自己F12查看。
3.网址
?后面的数据不需要复制,那是载荷中提供的参数。requests.get(url, headers=headers,
[color=]params=param
)
4.得到的json结果需要使用json.loads()解析为python对象。

微软, 数据

您需要登录后才可以回帖 登录 | 立即注册

返回顶部