Python爬虫获取招聘网站职位信息

news/2024/5/15 8:14:20/文章来源:https://blog.csdn.net/weixin_33872566/article/details/91677273

Python爬虫获取招聘网站职位信息

摘要

本文介绍使用Python编写爬虫,获取招聘网站中感兴趣的职位信息。

好的开始,成功一半。另一半呢?知己知彼,百战百胜。

0. 环境

0.1 Python解释器安装

推荐使用Anaconda发行版,其包含了多个科学包及其依赖项。官网为:https://www.anaconda.com/

可以从官网下载安装包,在本地安装,将安装之后的位置作为环境变量加入到系统环境变量的PATH中。

Anaconda一般安装之后的位置为:C:\ProgramData\Anaconda3

Python爬虫获取招聘网站职位信息

0.2 集成开发环境

IDE(集成开发环境,Integrated Development Environment ):这一类开发环境一般包括代码编辑器、编译器、调试器和图形用户界面等工具。集成了代码编写功能、分析功能、编译功能、调试功能等一体化的开发软件服务套件。

推荐使用PyCharm的社区版,官网为:https://www.jetbrains.com/pycharm

Python爬虫获取招聘网站职位信息

1. 确定目标

这里的目标就是指要爬取的内容,打开招聘网站:https://www.51job.com:在搜索框中输入python,并点击搜索,会得到下面的结果,一共63页,3000余条职位信息:

Python爬虫获取招聘网站职位信息
里面的每一个职位点开之后的页面包含职位的相关信息,我们的目标就是将这些信息爬取并保存到本地。

Python爬虫获取招聘网站职位信息

2. 请求

所有的职位信息页面的网址类似于如下形式:

https://jobs.51job.com/nanjing-jnq/91355381.html?s=01&t=0
https://jobs.51job.com/wuxi/97144561.html?s=01&t=0
https://jobs.51job.com/nanjing-qhq/106264137.html?s=01&t=0
。。。

这些页面网址没有多少规律可循,但是可以从职位搜索结果页面中获取到:

Python爬虫获取招聘网站职位信息

通过获取任意页数的职位名这一位置的链接,就能够获取这些职位信息的链接页面。

https://search.51job.com/list/070000,000000,0000,00,9,99,Python,2,1.html?lang=c&stype=1&postchannel=0000&workyear=99&cotype=99°reefrom=99&jobterm=99&companysize=99&lonlat=0%2C0&radius=-1&ord_field=0&confirmdate=9&fromType=4&dibiaoid=0&address=&line=&specialarea=00&from=&welfare=
https://search.51job.com/list/070000,000000,0000,00,9,99,Python,2,2.html?lang=c&stype=1&postchannel=0000&workyear=99&cotype=99°reefrom=99&jobterm=99&companysize=99&lonlat=0%2C0&radius=-1&ord_field=0&confirmdate=9&fromType=4&dibiaoid=0&address=&line=&specialarea=00&from=&welfare=

搜索结果地址中的python是查询的关键字,两个链接的差异之处,就是查询结果的第几页,所以可以根据这一点构建所有的搜索结果页面。

KEYWORD = 'python'
MAX_PAGE = 10for i in range(MAX_PAGE + 1):temp_url = 'https://search.51job.com/list/070000,000000,0000,00,9,99,' + KEYWORD + ',2,' + str(i) + '.html?lang=c&stype=1&postchannel=0000&workyear=99&cotype=99°reefrom=99&jobterm=99&companysize=99&lonlat=0%2C0&radius=-1&ord_field=0&confirmdate=9&fromType=4&dibiaoid=0&address=&line=&specialarea=00&from=&welfare='

通过requests包的的请求功能,获取到页面:

r = requests.get('https://jobs.51job.com/nanjing-jnq/91355381.html?s=01&t=0')
r.encoding = 'gbk'
print(r.text)

3. 解析

在搜索结果页面中需要解析出每一个职位的链接,同时在职位详细信息页面,要解析出职位名称,公司名称,工资,所在城市,职位信息等内容。

解析可以使用python中的lxml库进行解析,最常用的解析方式为xpath方式,通过Chrome中的F12开发者工具来获取xpath并调试。

Python爬虫获取招聘网站职位信息
在F12开发者工具中,左上角的选择按钮可以在页面上选取感兴趣的元素,然后下面的元素窗口将高亮显示选中的元素。

在高亮显示的元素上,右键单击,在弹出的菜单中选择Copy -> Copy XPath,即可获得此元素的XPath。

然后在此元素基础之上,可以通过@属性的方式获取元素的属性值,例如获得职位的链接地址:

//*[@id="resultList"]/div[4]/p/span/a/@href
结果为:
https://jobs.51job.com/nanjing/107228497.html?s=01&t=0

或通过text()方式获取元素的显示内容,例如职位详细信息里面的各项值:

/html/body/div[3]/div[2]/div[2]/div/div[1]/strong/text()
结果为:
0.5-1.5万/月

4. 存储

为方便后续的数据分析和绘图,我们将结果存储在excel表中,通过openpyxl库来实现。

在openpyxl中,主要用到三个概念:Workbooks,Sheets,Cells。Workbook就是一个excel工作表;Sheet是工作表中的一张表页;Cell就是一个单元格。

首先引入库:

from openpyxl import Workbook

然后创建xlsx文件:

wb = Workbook()

获取激活的sheet:

sheet = wb.active

在其中编辑单元格的内容,将前面获取的职位信息写入到表格中:

sheet.append(list(temp_info.values()))

最后将wb保存成一个文件:

wb.save('result.xlsx')

5. 代码

完整代码参见附件。

点击链接可索取完整代码哦~

验证:星空

转载于:https://blog.51cto.com/13477015/2314470

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

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

相关文章

Redis简单案例(二) 网站最近的访问用户

Redis简单案例(二) 网站最近的访问用户 原文:Redis简单案例(二) 网站最近的访问用户我们有时会在网站中看到最后的访问用户、最近的活跃用户等等诸如此类的一些信息。本文就以最后的访问用户为例, 用Redis来实现这个小功能。在这之前,我们可以先简单了解…

NW.js将网站打包成桌面应用

需求:已有一个网站,因为浏览器兼容性等问题,想自己封装一个浏览器,打开时固定打开这个网站,通过这样的封装,将网站变成桌面应用程序。 1. 下载并安装NW.js的最新稳定版本(NW.js) 2. …

phpcms网站漏洞修复 远程代码写入缓存漏洞利用

SINE安全公司在对phpcms2008网站代码进行安全检测与审计的时候发现该phpcms存在远程代码写入缓存文件的一个SQL注入漏洞,该phpcms漏洞危害较大,可以导致网站被黑,以及服务器遭受黑客的攻击,关于这次发现的phpcms漏洞细节以及如何利…

python 网站的结构

用python怎么做一个网站。 维基百科对网站有如下描述: 网站(英文:Website)是指在互联网上,根据一定的规则,使用HTML等工具制作的用于展示特定内容的相关网页的集合。简单地说,网站是一种通信工具…

ASP.NET MVC 实现页落网资源分享网站+充值管理+后台管理(14)之会员中心管理

源码下载地址:http://www.yealuo.com/Sccnn/Detail?KeyValuec891ffae-7441-4afb-9a75-c5fe000e3d1c 会员中心,主要包含了会员的基本信息维护、充值管理,以及下载充值的日志管理和收藏等功能 首先我们需要在MemberCenterModule区域下的Contro…

中国农产品信息网站scrapy-redis分布式爬取数据

---恢复内容开始--- 基于scrapy_redis和mongodb的分布式爬虫 项目需求: 1:自动抓取每一个农产品的详细数据 2:对抓取的数据进行存储 第一步: 创建scrapy项目 创建爬虫文件 在items.py里面定义我们要爬取的数据 # -*- coding: utf-…

怎么让你的网站快如飞?

服务器、VPS、空间的介绍 服务器是真实存在的物理设备.无论是性能还是安全方面都是最强大的.VPS是虚拟服务器的意思.它的功能与服务器一模一样.但不同的是它是虚拟的.在同等配置的情况下.性能不如服务器.云主机则是VPS的升级版.相对VPS来讲更稳定.更安全一些.空间和虚拟主机是同…

keepalived + lvs 网站高可用集群

一 ,四台服务器 master 端 : 192.168.206.3 backup 端: 192.168.206.4 REserver1 端 : 192.168.206.5 REserver2 端: 192.168.206.6 二、 开始部署 1> 配置 REserver1 端 REserver2 端 ( 在回环地址配…

部署网站

1,下载tomcat 2 网站内容copy到tomcat classes 文件为编译后代码3将webapp copy 到 C:\apache-tomcat-7.0.85\webapps 修改 webapp 为easy即可 访问地址为 http://10.0.0.96:8080/easy/index.jsp 3 tomcat 修改如果出现有参数的接口请求不到The valid characters a…

大型网站系统架构演化之路

前言 一个成熟的大型网站(如淘宝、天猫、腾讯等)的系统架构并不是一开始设计时就具备完整的高性能、高可用、高伸缩等特性的,它是随着用户量的增加,业务功能的扩展逐渐演变完善的,在这个过程中,开发模式、技…

谈谈个人网站的建立(一)——建站历史和技术架构

首先,帮忙点击一下我的网站http://www.wenzhihuai.com/。谢谢啊,如果可以,GitHub上麻烦给个star,以后面试能讲讲这个项目,GitHub地址https://github.com/Zephery/newblog 大学的时候萌生的一个想法,就是建立…

MacOS网页自动化教程(下)- PySeTest网站自动登录到下单测试手脚架#Python3 + Selenium3+ HTMLTestRunner#工欲善其事

PySeTest网站自动登录到下单测试手脚架#Python3 Selenium3 HTMLTestRunner系统说明如何使用功能说明实现步骤测试路径测试脚本代码实现常用方法封装Selenium基础用法Selenium 中文文档Selenium3 定位方法Selenium的等待自动生成Html测试报告HTMLTestRunner 兼容Python3如何使用…

大型网站架构改进历程:存储的瓶颈(四)

摘要:什么是大型网站,从网站的技术角度考虑这个问题人们很容易犯一个毛病就是认为网站的访问量是衡量的指标,懂点行的人也许会认为是网站在单位时间里的并发量的大小来作为指标,如果按这些标准那么像hao123网站就是了。 本文转自博…

律师所网站建设及律师事务所网站模板整理

律师网站建设的内部系统可以分为很多,根据栏目页的设定可以有不同的系统,而且随着时代的发展以及互联网技术的不断更新,各方面系统管理也在升级,网站建设者或是管理者需要不断的对网站进行优化,使得符合时代发展的要求…

做网站用企业网站模板好不好

现在很过公司企业做网站都一般有两种途径,一种找人量身定制,一种选择现成的企业网站模板,目前来说,这两种网站建设方式价格差异也不大,那么到底是定制好?还是企业网站模板好呢? 其实这个问题没有…

响应式网站建设的优缺点

首先要明白响应式网站概念,响应式网站是国外最先流行的一种网站布局理念,其理念是:集中创建页面的图片排版大小,可以智能地根据用户行为以及使用的设备环境进行相对应的布局,说简单点就是可以在pc和手机及各种浏览设备…

网站建设需要注意的几个重要因素

在互联网发达的时代,网站已经是生活当中必不可少的一个事物了,许许多多的企业都熟悉了网站建设的流程,企业可以通过网站可以自由的发布信息、更新产品、还能够为客户提供一些在线的服务等。成功的网站建设能为企业带来一定的业务和收益&#…

网站建设方案

一、网站目标 网络凭借其卓越的互动性与便捷的交流手段正成为最有发展潜力与前途的新兴媒体,成为众企业倍为关注的宣传热点。许多行业的知名企业已经通过网站建设来为自己的企业带来显著的宣传效果。企业网站为对外宣传、服务和交流的载体,来配合企业的迅…

新手如何学习网站建设,教你如何制作网站

新手开发网站具备的条件:对电脑熟练操作,使用电脑最好在一年以上,会打字,懂基本电脑知识,这个对现在的人来说都不成问题的。第一阶段:开始时最好是学些网页编辑软件和基础网页脚本语法,如&#…

网站开发流程

创建一个企业形象网站,要做好商业网站开发的前期准备、中期制作和后期的测试发布工作。前期准备包括了解网站的业务背景、明确网站的设计风格、确定网站内容等;中期制作主要包括创建站点、制作首页、制作模板和制作样式;后期的测试发布工作包…