分析ajax爬取拉钩网

首先进去拉钩网站,搜索python,鼠标右键检查,页面如下

分析可以知道网页是ajax加载的

查看preview发现数据是在result里面

查看headers里面,分析请求的接口是

https://www.lagou.com/jobs/positionAjax.json?city=%E6%88%90%E9%83%BD&needAddtionalResult=false发现city是搜索的城市, 是个post请求,请求参数为

其中first第一页是true,后面是false

现在就可以构造请求的url,和传递的参数获取数据, 具体代码如下

import requests
def get_data(city, kd, pg):
    url = 'https://www.lagou.com/jobs/positionAjax.json?'
    params = {
        'city': city,
        'needAddtionalResult': 'false',
    }
    headers = {
        'User-Agent': "Mozilla/5.0 (Linux; U; Android 2.3.6; en-us; Nexus S Build/GRK39F) AppleWebKit/533.1 ",
        'Host': 'www.lagou.com',
        'Origin': 'https://www.lagou.com',
        'Referer': 'https://www.lagou.com/jobs/list_python?city=%E5%8C%97%E4%BA%AC&cl=false&fromSearch=true&labelWords=&suginput='
    }
    pages = [page for page in range(1, pg+1)]
    for page in pages:
        if page == 1:
            data = {
                'first': 'true',
                'pn': page,
                'kd': kd
            }
        else:
            data = {
                'first': 'false',
                'pn': page,
                'kd': kd
            }
        res = requests.post(url, headers=headers, params=params, data=data)
        print(res.text)
get_data('成都','python',3)

其中city是城市,kd是搜索的关键字, pg是需要几页的数据 这里是写了这么获取数据,数据存储方面请自己保存

猜你喜欢

转载自blog.csdn.net/xx117501/article/details/81450302
今日推荐