前程无忧招聘信息爬取

2023-11-08

爬取前程无忧招聘信息

本文是关于招聘数据爬取,我们选取的网站是前程无忧。
百度直接搜索前程无忧,或者51job。我们将看到搜索栏,在搜索栏中输入“数据分析师”将可以看到工作信息。
至于分析网站在这里就不在解释了,本爬虫只是简单爬取一点数据,所以并没有怎么做出伪装爬虫机制。所以本文仅供参考学习。如果真的对这网站想要爬取,请联系博主,我会详细写出一篇来,下面是代码和数据仅供参考。

在这里插入图片描述

# !/usr/bin/python
# -*- coding: utf-8 -*-
'''
@File    :   qianchengwu_crab.py
@Time    :   2020/03/15 21:21:18
@Author  :   Qingxiang Zhang
@Version :   1.0
@Contact :   344285081@qq.com
@Desc    :   
@Software:    Vscode
'''


import urllib
import requests
import re
import csv
import json
def main():

    for i in range(1, 60):
        print('正在爬取第{}页信息'.format(i))

        baseurl = "https://search.51job.com/list/000000,000000,0130%252c7501%252c7506%252c7502,01%252c32%252c38,9,99,%25E6%2595%25B0%25E6%258D%25AE%25E5%2588%2586%25E6%259E%2590%25E5%25B8%2588,2,{}.html".format(i)#全国+keyword
        html = askURL(baseurl)
        # print(html)
        # print(bs)
        re_soup=re.search(r'window.__SEARCH_RESULT__ =(.*?)</script>',html)
        json_data=json.loads(re_soup.group(1))
        # print(json_data)
        for items in json_data["engine_search_result"]:

            job_name=items["job_name"]
            # print(job_name)
            company_name=items["company_name"]
            jobwelf=items["jobwelf"]
            providesalary_text=items["providesalary_text"]           
            #存储成csv格式
            with open("./result.csv","a",encoding="utf-8",newline="") as f:
                csv_write=csv.writer(f)
                csv_write.writerow([job_name,company_name,providesalary_text,jobwelf])

def askURL(url):
    head = {
        "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.138 Safari/537.36"
    }

    request = urllib.request.Request(url,headers=head)
    html = ""
    try:
        response = urllib.request.urlopen(request)
        html = response.read().decode('gbk', 'ignore')
        # print(html)
    except urllib.error.URLError as e:
        if hasattr(e, "code"):
            print(e.code)
        if hasattr(e,"reason"):
            print(e.reason)

    return html
if __name__ == '__main__':
    main()

数据样式:

在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

前程无忧招聘信息爬取 的相关文章

随机推荐

  • Springboot +Flowable,DataObject的使用方式

    一 简介 在 Flowable 流程图的绘制过程中 可以编写一个名为 dataObject 数据对象 的元素 这个元素可以指定变量的 id 名称以及数据类型等各种属性 并且在流程实例启动的时候 会自动将 dataObject 元素的信息转换
  • MODBUS RTU通讯

    modbus通讯 1 1 modbus通讯数据格式 地址码 1个字节 功能码 1个字节 数据区 N个字节 校验码 16位crc 1 2功能码 功能码 gt 描述 gt 说明 gt modbus地址 01 gt 读输出线圈寄存器 gt 位操作
  • 深度学习之图像分类(一)--分类模型的混淆矩阵

    深度学习之图像分类 一 分类模型的混淆矩阵 深度学习之图像分类 一 分类模型的混淆矩阵 1 混淆矩阵 1 1 二分类混淆矩阵 1 2 混淆矩阵计算实例 2 混淆矩阵代码 3 混淆矩阵用途 深度学习之图像分类 一 分类模型的混淆矩阵 今天开始
  • 有时候在textarea中显示的数据页面显示总是不能顶头,开头总是有几个空格

    代码如下
  • 利用redis实现消息队列之topic模式

    redis同样可以实现消息队列的发布订阅功能 发布消息者使用比较简单 订阅消息者则需要手动继承 redis clients jedis JedisPubSub 这个抽象类 消费者有动作时就会回调这个实现类的方法 新建两个maven工程 生产
  • FFmpeg接收H.264解码并播放

    在前面一个博客 地址在这里 中 我们做到了将采集的摄像头数据编码为H 264 接下来我么讨论下如何将H 264发送 在接收端接收解码并播放 和上一篇编码的博客一样 我们也是直接调用ffmpeg exe和ffplay exe文件 内部的具体操
  • nginx服务器部署多个项目,怎么在docker中使用nginx部署多个项目

    怎么在docker中使用nginx部署多个项目 发布时间 2021 04 07 16 37 29 来源 亿速云 阅读 79 作者 Leah 栏目 服务器 本篇文章给大家分享的是有关怎么在docker中使用nginx部署多个项目 小编觉得挺实
  • 分页ajax上一页下一页,JQuery AJAX 分页,跳页下一页,上一页【总结了一天啊干货】...

    网上的分页基本有问题 自己总结下 代码如下 var pagesi 2 每页行数 var totalPage 0 总页数 var currentPage 1 当前页 function menu item click function menu
  • 目标识别算法C语言,大盘点

    原标题 大盘点 性能最强的目标检测算法 来源 CVer ID CVerNews 作者 Amusi 整理编辑 三石 新智元导读 目标检测中存在两个非常重要的性能 精度和速度 特指mAP和FPS 本文便对mAP最高的目标检测算法进行了盘点 趁最
  • [ 搞一点AutoSar ]一张图帮你理解CAN通信全过程

    笔者最近一直在学习AUTOSAR 通信部分的相关知识 经过长时间的学习有了一个大概的了解 但一直感觉资料介绍的东西都很零散 不是很全面 这样子无法建立一个完整的知识体系 于是笔者查阅各种资料 加上自己的一点理解 制作了CAN通信部分从软件到
  • python输入输入:input、map

    主要整理python中输入输出用到的几个函数 print函数 print函数是python中常用到的一个函数 关于print的用法这里是详细的一些介绍 input函数 input函数的用法如下 x input 提示信息 input得到的值是
  • 【期末复习】UML

    五类视图 五类图 用例视图 逻辑视图 并发视图 组件视图 部署视图 九种图形 用例图 唯一有用户参加的图 静态图 类图 对象图 行为图 状态图 活动图 交互图 顺序图 时序图 协作图 通信图 实现图 组件图 构件图 部署图 活动图 唯一表示
  • vue将后端获取到的路由,通过 addRouter 动态添加。

    获取路由参数 将路由添加到路由集合中去 获取 路由信息 axios post api mock getMenu then resp gt let datas resp data 遍历获取到的路由数组将其添加到全局路由中 datas forE
  • vue之watch的用法

    一 什么是watch watch 用于监听data里面的数据是否被修改 一旦修改就可以执行一些其他的操作 也是方法 二 watch的用法 watch在监听的时候 可以有二次参数 第一次参数为更新的数据 第二个参数为之前的旧数据 div h1
  • 广电家庭服务器维修电话,广电家庭服务器换路由器怎么设置

    广电家庭服务器换路由器怎么设置 内容精选 换一换 用户的弹性云服务器已绑定EIP 但是无法连接到Internet 弹性云服务器通过EIP访问Internet的流程如图1所示 本问题请按照以下思路进行排查处理 查看弹性云服务器运行是否正常查看
  • HBase 二级索引的设计 (案例讲解)

    HBase 二级索引的设计 案例讲解 最近做的一个项目涉及到了多条件的组合查询 数据存储用的是HBase 恰恰HBase对于这种场景的查询特别不给力 一般HBase的查询都是通过RowKey 要把多条件组合查询的字段都拼接在RowKey中显
  • SQL Server 2016新特性:DROP IF EXISTS

    在我们写T SQL要删除某个对象 表 存储过程等 时 一般会习惯先用IF语句判断该对象是否存在 然后DROP 比如 旧版本 IF OBJECT ID dbo PERSON U IS NOT NULL DROP TABLE PERSON IF
  • element-plus中el-sub-menu样式修改

    注意
  • 二分查找(代码实例)

    基本思路 当我们要从一个序列中查找一个元素的时候 最快想到的方法就是顺序查找法 即 从前到后依次查找 但这种方法过于无脑 就是暴力的把每个元素都排查一遍 元素个数少的时候还行 一旦元素个数多起来 效率是非常低下 所以在实际中这种查找的方法是
  • 前程无忧招聘信息爬取

    爬取前程无忧招聘信息 本文是关于招聘数据爬取 我们选取的网站是前程无忧 百度直接搜索前程无忧 或者51job 我们将看到搜索栏 在搜索栏中输入 数据分析师 将可以看到工作信息 至于分析网站在这里就不在解释了 本爬虫只是简单爬取一点数据 所以