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

AI权益加码!Claude Code、Cursor等20+工具免费用! 购周边限时加赠Coding Plan Lite,畅享主流AI工具!学习进阶更高效! 阅读详情

前言

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

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

相关推荐

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 监测的规避

菜菜码de博客 2007

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

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

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

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

Z_PEIJIN的博客 1488

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

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

u010187278的博客 3万+

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的博客 2012

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的博客 309

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():

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

爬虫——Python 爬取51job 职位信

既然要爬取职位信,那么首先要弄清楚目标页面的分布规律。 输入职位关键词和相应的地点等条件,然后搜索就可以看到岗位。 首先通过翻页来查看url的变化,以此来找到翻页时url的规律 把前面几页的url 复制下来放到文本文档里对比 不难发现除了页码外其他都没有改变 下面开始代码 # 导入相应的包 #-*-coding:utf-8-*- from bs4 import BeautifulSoup...

aqqwvfbukn的博客 4539

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的博客 1786

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

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

weixin_59178068的博客 6516

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

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

shykevin的博客 1592

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

利用selenium51job职位信-破解滑块验证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的博客 6178

Python爬虫爬取51job岗位

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

longjie_min的博客 1550

Python-51job爬虫

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

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

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

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

weixin_65147810的博客 9463

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 944

爬取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的博客 514

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

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

qq_44936246的博客 4428
上一篇: 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、付费专栏及课程。

余额充值