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

本文介绍如何利用selenium库抓取51job网站上的职位详情信息,包括职位、薪资、地点等,并涉及字段缺失值处理和数据存储。通过模拟搜索和点击操作,结合lxml和openpyxl库进行网页解析和数据存储。
摘要由CSDN通过智能技术生成

1、项目简介

利用selenium实现抓取51job网站具体岗位信息,输入要求抓取的页数和岗位名称,实现岗位详情信息的抓取,字段信息如下:

  • position——》职位信息
  • salary——》薪资
  • location——》工作地点
  • experience——》工作经验
  • edu——》学历要求
  • benefits——》福利待遇
  • job_info——》职位信息
  • skills——》技能要求
  • company——》公司名称
  • company_type——》公司类型
  • company_size——》公司规模
  • industry——》所属行业

2、爬虫代码编写

本次项目需要使用的第三方库有:

  • selenium——》获取网页源码,模拟搜索、鼠标点击等操作
  • lxml——》网页源码解析
  • openpyxl——》信息储存

载入所需的库

from selenium import webdriver  # 载入webdriver对象
from selenium.webdriver.chrome.options import Options # 载入Option,方便后续用无头模式
import openpyxl  # 用于写入文件
from lxml import etree  # 用于网页解析
import time
import re

2.1、获取详情页链接

def get_urls(pageno, position):  # pageno:需要获取的页数 position:需要爬取的职位
    url = 'http://www.51job.com'  # 首页链接
    ch_option = Options()
    ch_option.add_argument('--headless')
    bro = webdriver.Chrome(options=ch_option)  # 创建浏览器对象
    bro.get(url) # 发起网页请求
    time.sleep(2)
    input_box = bro.find_element_by_id('kwdselectid')
    # 在输入框中输入信息
    input_box.send_keys(position)
    time.sleep(2)
    # 通过xpath寻找搜索按钮
    submit_button = bro.find_element_by_xpath('/html/body/div[3]/div/div[1]/div/button')
    # 模拟鼠标点击
    submit_button.click()
    time.sleep(2)
    urls_list = []
    for page in range(pageno):
        page_text = bro.page_source
        tree = etree.HTML(page_text)
        urls_list 
  • 0
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Z_PEIJIN

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值