招聘网站简单爬虫_24.1.26

完整程序传送门

24.1.26

前些天接了一个大两届的师兄的小活,做了一下爬boss直聘岗位信息的程序,在这里记录一下

程序框架

      定义一个名为paQu的接口函数,用于检查窗口的输入,它接受一个参数self,获取self对象的a属性(可能是一个变量或对象),并将其赋值给变量b,检查变量b是否为空,如果为空,则返回,不执行任何操作。再次获取self对象的a属性,并将其赋值给变量b。如果b不为空,则递归调用paQufun函数,并将b作为参数传递。

       主要功能是从招聘网站上所需求的爬取职位信息,并将这些信息保存到一个CSV文件中。思路是使用Python的Selenium库模拟浏览器操作,访问招聘网站,输入所search的职位,获取职位信息,并将这些信息保存到一个CSV文件中。代码如下:

def paQufun(a):f = open('./data/' + a + '.csv', mode='a', encoding='utf-8', newline='')data = csv.DictWriter(f, fieldnames=['招聘职业', '地区', '公司', '薪资', '工作经验要求', '学历要求', '工作介绍', '公司福利', '详情页'])data.writeheader()driver = webdriver.Chrome()# driver.get('https://sou.zhaopin.com/?jl=763&kw=%E5%89%8D%E7%AB%AF')'''city接城市后编码business接区编码,可不加'''driver.get('https://www.zhipin.com/web/geek/job?query=&city=101270100&areaBusiness=510108')# 隐式等待driver.implicitly_wait(50)find = driver.find_element('css selector', ' .search-input-box .input')driver.find_element('css selector', ' .search-input-box .input').send_keys(a)driver.implicitly_wait(50)driver.find_element('css selector', '.search-btn').click()# css选择器直接定位元素lists = driver.find_elements('css selector', '.search-job-result li.job-card-wrapper')for li in lists:job = li.find_element('css selector', ' .job-name').textarea = li.find_element('css selector', ' .job-area').textcompany = li.find_element('css selector', ' .company-name').textsalary = li.find_element('css selector', ' .salary').textyao = li.find_element('css selector', ' .job-info.clearfix .tag-list').textlines = yao.split("\n")line1 = lines[0]line2 = lines[1]jie = li.find_element('css selector', ' .job-card-footer.clearfix  .info-desc').textfuLi = li.find_element('css selector', '  .job-card-footer.clearfix  .tag-list').texthref = li.find_element('css selector', '  .job-card-left').get_attribute('href')dit = {'招聘职业': job,'地区': area,'公司': company,'薪资': salary,'工作经验要求': line1,'学历要求': line2,'工作介绍': jie,'公司福利': fuLi,'详情页': href,}data.writerow(dit)print(job, area, company)print(salary, line1, line2, jie, fuLi, href)print('\n')

1、修改URL:请将代码中的URL替换为您要爬取的城市对应的URL。例如,如果需要爬取上海的前端职位,可以将URL修改为:

driver.get('https://www.zhipin.com/web/geek/job?query=&city=101270100&areaBusiness=510108')

2、避免被ban:在爬取过程中,为避免被网站ban,请使用代理IP或设置隐式等待时间。在代码中,使用了隐式等待时间,可根据需要修改为代理IP。

3、异常处理:在爬取过程中,请确保进行异常处理,以防止程序在遇到错误时崩溃。例如:

try:job = li.find_element('css selector', ' .job-name').text
except NoSuchElementException:job = ''

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/438795.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

第九节HarmonyOS 常用基础组件13-TimePicker

1、描述 时间选择组件,根据指定参数创建选择器,支持选择小时以及分钟。默认以24小时的时间区间创建滑动选择器。 2、接口 TimePicker(options?: {selected?: Date}) 3、参数 selected - Date - 设置选中项的时间。默认是系统当前的时间。 4、属性…

【驱动】TI AM437x(内核调试-07):devmem2直接读写内存、寄存器,devkmem读取内核变量

1、/dev/mem 和 /dev/kmem 1)/dev/mem: 物理内存的全镜像。可以用来访问物理内存 2)/dev/kmem: kernel看到的虚拟内存的全镜像。可以用来访问kernel的内容。kernel部分内存用户空间本不可访问。但是因为所有进程共享内核空间的页表。所以内核虚拟地址对应物理地址是确定的…

python_ACM模式《剑指offer刷题》链表3

题目: 注意: 剑指offer上对这道题目的描述是给定的删除节点是节点指针。这表明这道题可以用时间复杂度为O(1)的方式解决。 而leetcode上对类似本题的描述是: 给定删除节点是节点值,这决定了本题时间复杂度必然至少为O(N)。因为…

写在28岁,回看3年前“啃老”的自己,庆幸当时入了软件测试这行

🍅 视频学习:文末有免费的配套视频可观看 🍅 点击文末小卡片 ,免费获取软件测试全套资料,资料在手,薪资嘎嘎涨 为什么会学习软件测试? 已经28岁了,算一下快过去3年了,刚…

SpringBoot 实现自定义指标监控

一、添加业务监控指标 在 spring-web-prometheus-demo 项目的基础上,我们添加一个 PrometheusCustomMonitor 类。在这里面我们定义了三个业务指标: order_request_count:下单总次数order_amount_sum:下单总金额 Component publ…

Element ui 的组件弹窗 el-dialog点击的时候全屏变灰问题解决

最近在使用Element UI 的弹窗组件的时候发现这个组件各种的应用都没有问题,数据和元素的应用都是正确的但是在点击显示这个弹窗的时候全屏幕都会变灰。 这也不是因为增加了modal 遮挡幕的问题,在经过不断的排查代码的时候基本排除了代码的问题&#xf…

电路笔记 :MOS场效应晶体管+红外遥控+AMS1117 电源模块

三极管(BJT,Bipolar Junction Transistor)和 MOSFET(Metal-Oxide-Semiconductor Field-Effect Transistor)是两种不同类型的晶体管,它们在工作原理、性能特性和应用方面有一些重要的区别。 结构和工作原理…

fastapi报错

初始化报错,非常低级错,扇自己10八张 app FastApi()

HCIA-HarmonyOS设备开发认证-2.设备开发入门

目录 HarmonyOS设备开发学习路径一、开发项目与工具介绍1.1、设备开发环境准备1.2、设备开发流程1.3、Huawei DevEco Device Tool 二、OpenHarmony介绍OpenHarmony目录结构详细介绍applications目录详解base目录详解foundation目录详解 OpenHarmony接口分层介绍CMSIS 和 POSIX …

Vim实战:使用Vim实现图像分类任务(一)

文章目录 摘要安装包安装timm 数据增强Cutout和MixupEMA项目结构编译安装Vim环境环境安装过程安装库文件 计算mean和std生成数据集 摘要 论文:https://arxiv.org/pdf/2401.09417v1.pdf 翻译: 近年来,随着深度学习的发展,视觉模型…

网站卡顿、打不开是不是服务器被攻击了?

近来遇到有不少网站站长联系到德迅云安全询问,反映网站出现了卡顿、甚至打不开的情况,询问出现这种异常情况是不是被攻击了。经过德迅云安全对客户情况的进一步了解,分析情况判断用户大概率是遇到攻击了。 当前网络攻击一般常见的就是DDOS&a…

求两数之间的最大公约数和最小公倍数

1. 最大公约数和最小公倍数的概念 最大公约数:最大公因数,也称最大公约数、最大公因子,指两个或多个整数共有约数中最大的一个。a,b的最大公约数记为(a,b),同样的,a&…