python-selenium爬取51job获取求职信息

[Python] scrapy + selenium 抓取51job 职位信息(实现 传参 控制抓取 页数+职位名称+城市) 目录 一、目标 二、51job网页分析: 1.网页构成观察 2.网页分析 三、代码实现 1. 踩过的坑-----实现城市选择 2.代码实现 3.代码优化 1)存放格式优化 2)在爬虫中去掉\xa0\xa0 3)用normalize-space(节点)去掉\r\n\t 4.pipelines.py 定义存储 一、目标 实现 通过传参(职位和地区)控制抓取51... 阅读详情

前言

本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理。

PS:如有需要Python学习资料的小伙伴可以点击下方链接自行获取

Python免费学习资料、代码以及交流解答点击即可加入


没有赶上秋招的,今年就要开始春招了,可是该怎么获取想要的求职信息呢,各种求职网站信息繁多,快速获取数据筛选得到我们想要的工作地点和岗位以及薪资是我们先行的第一步。

本次爬虫就以51job为例,爬取51job职业为数据分析的相关所有求职信息。

'''
如有需要Python学习资料的小伙伴可以加群领取:1136201545
'''

from selenium import webdriver
import openpyxl

wd = webdriver.Chrome()
lst =[]

def get_data():
    for i in range(1, 3):
        wd.get('https://search.51job.com/list/000000,000000,0000,00,9,99,%25E6%2595%25B0%25E6%258D%25AE%25E5%2588%2586%25E6%259E%2590,2,{0}.html?lang=c&postchannel=0000&workyear=01%252c06&cotype=99&degreefrom=04&jobterm=99&companysize=99&ord_field=0&dibiaoid=0&line=&welfare='.format(i))
        wd.implicitly_wait(10)
        for i in range(1, 51):
            # 职位
            zhiwei = wd.find_element_by_xpath('/html/body/div[2]/div[3]/div/div[2]/div[4]/div[1]/div[{0}]/a/p[1]/span[1]'.format(i)).text
            print(zhiwei)
            # 发布日期
            fabu_date = wd.find_element_by_xpath('/html/body/div[2]/div[3]/div/div[2]/div[4]/div[1]/div[{0}]/a/p[1]/span[2]'.format(i)).text
            print(fabu_date)
            # 工资
            salary = wd.find_element_by_xpath('/html/body/div[2]/div[3]/div/div[2]/div[4]/div[1]/div[{0}]/a/p[2]/span[1]'.format(i)).text
            print(salary)
            # 地区丨经历丨学历丨人数
            basic_info = wd.find_element_by_xpath('/html/body/div[2]/div[3]/div/div[2]/div[4]/div[1]/div[{0}]/a/p[2]/span[2]'.format(i)).text
            print(basic_info)
            # 福利(注意只有41个,有的招聘未写福利)所以进行一个判断
            if NodeExists("/html/body/div[2]/div[3]/div/div[2]/div[4]/div[1]/div[{0}]/a/p[3]/span/i".format(i)):
                welfare = wd.find_element_by_xpath('/html/body/div[2]/div[3]/div/div[2]/div[4]/div[1]/div[{0}]/a/p[3]/span/i'.format(i)).text
                print(welfare)
            else:
                welfare = ''
                print(welfare)
            # 职位url
            zw_url = wd.find_element_by_xpath('/html/body/div[2]/div[3]/div/div[2]/div[4]/div[1]/div[{0}]/a'.format(i)).get_attribute('href')
            print(zw_url)
            # 公司
            company = wd.find_element_by_xpath('/html/body/div[2]/div[3]/div/div[2]/div[4]/div[1]/div[{0}]/div[2]/a'.format(i)).text
            print(company)
            # 公司类型
            style = wd.find_element_by_xpath('/html/body/div[2]/div[3]/div/div[2]/div[4]/div[1]/div[{0}]/div[2]/p'.format(i)).text
            print(style)
            print(i)
            lst.append([i, zhiwei, fabu_date, salary, basic_info, welfare, zw_url, company, style])
    wd.close()
    

# 捕获异常 参考:https://www.cnblogs.com/KHZ521/p/14265235.html
def NodeExists(xpath):
    try:
        wd.find_element_by_xpath(xpath)
        return True
    except:
        return False

def save2excel():
    wb = openpyxl.Workbook()
    print('open excel')
    sheet = wb.active
    print('open sheet')
    row0 = ['序号', '职位', '发布日期', '薪资', '基本信息', '福利', 'url', '公司', '公司类型']
    sheet.append(row0)
    for item in lst:
        '''
        遍历列表,逗号分隔列,列表分隔行,一个列表是一行
        '''
        sheet.append(item)
    wb.save('51job.xlsx')
    print('保存文件')
if __name__ == '__main__':
    get_data()
    save2excel()
Python爬虫,爬取51job上有关大数据的招聘信息 Python爬虫,爬取51job上有关大数据的招聘信息 分析所要爬取的网址 https://search.51job.com/list/000000,000000,0000,00,9,99,+关键词+,2,"+str(页数)+".html 导入selenium包 from selenium import webdriver#导入selenium包 from lxml import etree from time import sleep import xlwt import requests 监测的规避 阅读详情

相关推荐

利用selenium抓取51job岗位详情信息

1、项目简介 利用selenium实现抓取51job网站具体岗位信息,输入要求抓取的页数和岗位名称,实现岗位详情信息的抓取,字段信息如下: position——》职位信息 salary——》薪资 location——》工作地点 experience——》工作经验 edu——》学历要求 benefits——》福利待遇 job_info——》职位信息 skills——》技能要求 company——》公司名称 company_type——》公司类型 company_size——》公司规模 industry——》

Z_PEIJIN的博客 1496

python爬虫实例——爬取智联招聘信息

受友人所托,写了一个爬取智联招聘信息的爬虫,与大家分享。 本文将介绍如何实现该爬虫。

u010187278的博客 3万+

Python爬虫小例子——爬取51job发布的工作职位

概述 不知从何时起,Python和爬虫就如初恋一般,情不知所起,一往而深,相信很多朋友学习Python,都是从爬虫开始,其实究其原因,不外两方面:其一Python对爬虫的支持度比较好,类库众多。其二Pyhton的语法简单,入门容易。所以两者形影相随,不离不弃,本文主要以一个简单的小例子,简述Python在爬虫方面的简单应用,仅供学习分享使用,如有不足之处,还请指正。 涉及知识点 本例主要爬取51job发布的工作职位,用到的知识点如下: 开发环境及工具:主要用到Python3.7 ,IDE为PyCharm requests类库:本类库封装了python的内置模块,主要用于网络的请求和获

Python爬虫51job

Python爬虫51job 最近闲的没事来爬个51job,爬取了一千条数据。 结果如图: 暂时只是将里面的职位爬取出来放到了mysql数据库,后续再做其他更改。 方法也很简单,就获取网页,解析网页,存储数据到数据库。 1.获取网页 在51job网页中,具体搜索网址如下: https://search.51job.com/list/000000,000000,0000,00,9,99,python,2,1.html 在这个网址中,前面的000000,000000,0000,00,9,99分别是 ...

qq_44941395的博客 2024

TensorRT(C++)部署 Pytorch模型

众所周知,python训练pytorch模型得到.pt模型。但在实际项目应用中,特别是嵌入式端部署时,受限于语言、硬件算力等因素,往往需要优化部署,而tensorRT是最常用的一种方式。本文以yolov5的部署为例,说明模型部署在x86架构上的电脑端的流程。(部署在Arm架构的嵌入式端的流程类似)。

女神sha手的博客 5405

DaVinci Configurator BswM模块配置

BswM是AUTOSAR(Automotive Open System Architecture)系统架构中的模块之一,它是基础软件模块(BSW)之一。BswM全称为Basic Software Module Manager(基础软件模块管理器),它负责管理和协调其他BSW模块的行为和交互,以实现整个系统的功能。BswM可以被看作是一个状态机,通过监控系统的状态和事件触发,来控制其他BSW模块的运行状态和互相配合,以达到整个系统的预期行为。

qq_59258431的博客 3947

51job收集职位信息,保存在text中

#-*-coding:utf-8-*- """ 需求:51job,打开网页,输入“自动化测试”选择地点为北京,点击搜索,将搜索结果中的薪资保存到.txt文件中 """ from selenium import webdriver import time import re #打开浏览器,输入网址 driver=webdriver.Chrome() driver.implicitly_wait(10) #最多等待10秒 driver.maximize_window() driver.get('https:.

m0_58031764的博客 311

基因家族扩张收缩分析可视化(CAFE5)

CafePlotter 是一个用于可视化 CAFE5 基因家族扩张收缩分析结果的 Python 工具

xuzhougeng blog 3638

python爬取51job的示例

如何爬取51job的岗位和薪资信息,可参考以下代码 import json import re import sqlite3 import urllib.error import urllib.request from urllib import parse dbpath = './51job.db' #kw = input("请输入你要搜索的岗位关键字:") #keyword = parse.quote(parse.quote(kw)) pageNum = 10 # 主流程 def main():

我在深圳的这些日子的博客 5160

C#精准获取Windows已安装应用清单的完整方案

Windows已安装应用识别是IT资产管理、安全合规与自动化运维的基础能力。其核心原理在于突破文件系统表象,以注册表为可信数据源,分层解析HKLM/HKCU、64位/32位视图及MSI Products路径中的元数据。技术价值体现在可验证(如过滤SystemComponent=1)、可关联(通过ProductCode绑定补丁与许可证)、可操作(启动路径二次验证+卸载命令沙箱执行)。典型应用场景包括终端合规审计、软件资产清查、静默卸载脚本开发及多版本应用聚合分析。本文聚焦C#原生实现,覆盖注册表四路采集、La

weixin_33552698的博客 634

小红书图文笔记图像批量爬取:Python爬虫实战与反反爬策略全解析

在当今社交媒体盛行的时代,小红书作为中国领先的生活方式分享平台,积累了海量的优质图文内容。对于数据分析师、市场研究人员或内容创作者来说,能够高效获取这些数据具有重要意义。本文将详细介绍如何使用Python构建一个高效、稳定的小红书图文笔记图像批量爬取工具,涵盖最新技术栈和反反爬策略。本文详细介绍了如何使用Python构建一个高效、稳定的小红书图文笔记图像批量爬取系统。通过结合Playwright、aiohttp等现代工具,实现了从列表页采集到图片下载的完整流程。

2201_76125261的博客 2364

python爬取51job的招聘信息

前言 最近的脚本课程有了新的作业。爬取51job上的一些招聘信息,包括城市 薪资最大最小值等。 这里示例的是 济南、北京、上海、广州、深圳的招聘信息 招聘信息包括 职位 公司 工作地点 薪水 发布时间 最低薪资 最高薪资 from lxml import etree import requests import xlwt import string #workbook = xlwt....

老师好我叫付十一的博客 835

YOLO11涨点优化:创新多尺度卷积注意力(MSCA)模块,小目标检测神器!

MSCA模块通过创新的多尺度设计,在保持计算效率的同时显著提升小目标检测能力。实验证明,在YOLOv5/v8等模型上嵌入MSCA后,mAP提升超过2%,小目标检测精度提升近4%,且计算代价增加极小。注意力机制的未来发展方向动态核尺寸:根据输入特征自适应调整卷积核大小跨模态融合:结合RGB与深度/热力图等多模态信息自监督优化:利用对比学习预训练注意力模块尝试在你的YOLO模型中插入MSCA模块,欢迎在评论区分享你的涨点结果!参考文献。

QQ_778132974的博客 470

《Python爬取求职网最后一天》——爬取51job网

用Python爬取51job网 话不多说我们先上代码,代码作用是爬取51job网,并把数据存储到汇总到表格中 代码↓ from bs4 import BeautifulSoup import csv from selenium import webdriver import time import re #获取并解析网页源代码,根据标签查询目的文本 def getsave_infomation(browser,csv_writer): soup = BeautifulSoup(brows

Huisoul的博客 1790

【华为OD机试真题】282、求满足条件的最长子串的长度 | 机试真题+思路参考+代码分析 (C++、Java、Py、C语言、JS)

题目描述 >给定一个字符串,只包含字母和数字,按要求找出字符串中的最长(连续)子串的长度,字符串本身是其最长的子串,子串要求: >  1、只包含1个字母(a~ z,A~Z), 其余必须是数字; 2、字母可以在子 串中的任意位置; >  如果找不到满足要求的子串,如全是字母或全是数字,则返回-1

KJ.JK 1万+

全新YOLOv11一文弄懂 | YOLOv11网络结构解读 、yolov11.yaml配置文件详细解读与说明、模型训练参数详细解析 | 通俗易懂!入门必看系列!

本文全面介绍了YOLOv11目标检测算法,包含网络结构解析、yaml配置文件详解及训练教程。YOLOv11通过改进的C3k2f模块、SPPF和C2PSA注意力机制等创新设计,在COCO数据集上实现了比YOLOv8更优的性能。文章详细解读了yolov11.yaml配置文件的参数设置、主干网络(backbone)和头部网络(head)结构,并提供了完整的训练代码示例和参数说明。训练部分涵盖了模型选择、参数设置及优化技巧,包括epochs、batch size、学习率等关键参数的调整建议。最后总结了YOLOv11

Ai缝合怪、助力小伙伴高效发论文 3万+

2024爬虫 用selenium 爬取 51job(前程无忧)代码

最近想要练习一下爬虫,但是打开51job的页进行操作发现,地址基本不怎么变化,不太容易提取url地址,发现无论是搜索 java 还是 python 地址是不变的,点击页码地址也不会变化。所以用操作地址的爬虫框架就不太容易操作了,下面是使用selenium爬取51job的具体流程,代码部分几乎每一行都有注释。

weixin_59178068的博客 6523

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

Selenium&Chrome实战:动态爬取51job招聘信息

一、概述 Selenium自动化测试工具,可模拟用户输入,选择,提交。 爬虫实现的功能: 输入python,选择地点:上海,北京 ---->就去爬取上海,北京2个城市python招聘信息 输入会计,选择地址:广州,深圳,杭州---->就去爬取广州,深圳,杭州3个城市会计招聘信息 根据输入的不同,动态爬取结果 二、页面分析 输入关键字 selenium怎么模拟用户输入关键...

shykevin的博客 1598

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

爬虫-python -综合练习-51job信息-滑块验证-selenium

利用selenium爬51job职位信息-破解滑块验证1.爬51job职位信息0.头文件1.初始化2.页面登陆3.滑块验证4.获取网站的职位信息 1.爬51job职位信息 0.头文件 需要用到以下文件 from selenium import webdriver from selenium.webdriver import Chrome from selenium.webdriver.common.by import By import time from selenium.webdriver.suppor

luxppp880的博客 6191

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

Python爬虫爬取51job岗位信息

python爬虫爬取51job岗位信息,运行无阻

longjie_min的博客 1554

Python-51job爬虫

文章目录前言一、模块使用二、数据的爬取与建立url列表1.获取所有网页详情页链接2.获取详情页html源码并筛选我们需要的信息3.提取信息进行excel本地保存1.Excel结果展示总结 前言 本次案例是爬取51job网站的职位信息,如有错误,还望指正,转载请注明出处。 本次爬取网址:点击此处 提示:以下是本篇文章正文内容,下面案例可供参考 一、模块使用 1.本次用到的模块一共有四个 import openpyxl import bs4 import requests as r from seleni

真正的大师,永远都怀着一颗学徒的心。 2305

【python大作业/爬虫实战】——爬取前程无忧(51job)数据+可视化(附完整代码)

在当今数字化时代,网络爬虫技术已成为数据获取的重要手段之一。本文将通过一个实际案例——采集51job招聘信息,详细介绍如何使用Python和Selenium框架实现数据采集。我们将从环境准备、网页结构分析、采集字段说明到爬虫实现步骤等方面展开,帮助读者快速掌握相关技术。

weixin_65147810的博客 9597

Selenium+Python自动化测试爬取51job数据。

根据条件查询到的job数据保存在Excel表中。 使用到的模块:selenium的webdriver、xlwt的workbook和time的sleep。 from selenium import webdriver import time import xlwt browser = webdriver.Chrome() url = "https://www.51job.com/" bro...

Liuxm 947

爬取51job的,Java职位,使用selenium和xpath,

1. from selenium.webdriver import Chrome import time web = Chrome() #实现自动登录 web.get("https://login.51job.com/login.php") #浏览器去找输入用户名的文本框 #向这个文本框里输入用户名 web.find_element_by_xpath('//*[@id="loginname"]...

xtggbmdk的博客 516

selenium 分分获取职位招聘详细信息,十万数据不是梦

大数据的时代,数据成为最重要的基础,不管是数据挖掘、数据分析、还是人工智能里的机器学习还是深度学习,数据就是基础,没有数据就没有后期的发展。 下面是为做数据分析来爬取的51job网的职位数据。 环境: python3.7.3 windows10 Google Google驱动 selenium csv 1 模拟登录 第一步我们先配置谷歌,谷歌驱动,在这里我们需要加载 图片,因为在登录验证的时候我们需要手动去勾选同意条款 def main(): option = webdriver.ChromeO

qq_44936246的博客 4431
上一篇: GitHub 18.5K Star,超实用Python 速查表
下一篇: python中关于数据分析pyecharts柱状图知识详解(小白必看)
酸菜鱼编程
博客等级 码龄6年 155粉丝 63原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值