zoukankan      html  css  js  c++  java
  • 招聘信息太多,哪家职位才是适合你的?Python采集招聘信息

    前言

    在招聘信息上,会提及工作的职位,不过大多描述是笼统的,还需要我们去了解工作的具体内容和性质。要知道,在不同的公司,同样的职位做的事情也是不一样的,工作方法更是大相径庭。所以,要尽可能详细地了解你所投递的职位的具体工作内容、要求。在了解清楚一切后,才能判断出这个职位是否与你的专业、能力、兴趣等相契合。

    拉勾招聘是专业的互联网求职招聘平台。致力于提供真实可靠的互联网招聘求职找工作信息。

    今天我们一起使用 python 采集拉钩的 python 招聘信息,分析一下找到高薪工作需要掌握哪些技术。

    开发环境:

    1. 解释器: Python 3.6.5 | Anaconda, Inc.

    2. 编辑器: pycharm 社区版

    然后信心满满的 ennn 翻车了

    招聘信息太多,哪家职位才是适合你的?Python采集招聘信息

     

    不怕,再来!!!

    步骤

    导入模块:

    import requests
    import pprint

    正常的情况下,确定爬取的url路径,headers参数就行了,但是有反爬

    招聘信息太多,哪家职位才是适合你的?Python采集招聘信息

     

    招聘信息太多,哪家职位才是适合你的?Python采集招聘信息

     

    加上防盗链,Origin,Host参数,还是不行,所以可能就是Cookie的问题了。

    还要构建 ip 池

    代码如下

    def get_cookie():
        # 获取服务器返回的 cookie
        url = 'https://www.lagou.com/jobs/list_python?labelWords=&fromSearch=true&suginput='
    
        response = requests.get(url, headers={
            'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36'
        })
        # 我想要的是 cookie
        return response.cookies
    
    
    url = 'https://www.lagou.com/jobs/positionAjax.json?needAddtionalResult=false'
    
    data = {
        'first': True,
        'pn': 1,
        'kd': 'python',
        'sid': ""
    }
    # ip 池 cookie 池
    # 请求获取 cookie
    headers = {
        'Host': 'www.lagou.com',
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3865.90 Safari/537.36',
        'Origin': 'https://www.lagou.com',
        'Referer': 'https://www.lagou.com/jobs/list_python?labelWords=&fromSearch=true&suginput=',
    }
    # 找 cookie 生成
    # 正常情况下
    response = requests.post(url, data=data, headers=headers, cookies=get_cookie())
    
    data = response.json()

    我们的需求是获取招聘的信息

    'city': 城市

    'companyFullName': 公司名

    'companySize': 公司规模

    'education': 学历

    'positionName': 职位名称

    'salary': 薪资

    'workYear': 工作时间

    results = data['content']['positionResult']['result']
    for r in results:
        d = {
            'city': r['city'],
            'companyFullName': r['companyFullName'],
            'companySize': r['companySize'],
            'education': r['education'],
            'positionName': r['positionName'],
            'salary': r['salary'],
            'workYear': r['workYear']
        }

    把爬取的信息写入CSV文件

      pprint.pprint(d)
        with open('拉钩职位信息.csv', mode='a', encoding='utf-8') as f:
            values = d.values()
            f.write(",".join(values))
            f.write('
    ')

    写完代码,运行后结果如下图

    招聘信息太多,哪家职位才是适合你的?Python采集招聘信息

     

    招聘信息太多,哪家职位才是适合你的?Python采集招聘信息
  • 相关阅读:
    美化WebApi,使其统一返回Json格式
    JavaScript函数封装调用
    Visual Studio 编辑器调试在IIS发布的Web程序出现错误的解决
    C#解析多层Json数据
    Python3解析库lxml
    学习使用Django一 安装虚拟环境
    一:(1.1)了解MVC之路由重写
    Python使用selenium模拟点击,进入下一页(三)
    云服务器安装证书
    Python使用selenium模拟点击(二)
  • 原文地址:https://www.cnblogs.com/hhh188764/p/13085342.html
Copyright © 2011-2022 走看看