前言
最近发现一些朋友想要跳槽,疫情三年还没结束,也不知道现在市场的如何,同时目前的IT行
业更是越来越难,技术革新越来越快,对新的岗位的需求也是不断的变化,因此就会想知道现在
的应聘岗位对面试者的要求有哪些,各地的某个岗位薪资范围大概是多少等信息时候,我们就
需要到某个招聘网站上不断的刷页面,看数据。
所有文章完整的素材+源码都在👇👇
但是简单的想一下,可以通过Python来批量的分析招聘网站上各个岗位在不同城市的需
求,高效的快捷的方便我们掌握大致的方向。所以今天小编带大家来分析一下好的岗位又那些
叭~希望大家都能找到高薪满意的工作啦👇好啦我们开始叭~
正文
一、运行环境
1)运行环境
Python 3 、Pycharm、requests (爬虫当中 发送网络请求) 内置模块 你安装
好python环境就可以了。(win + R 输入cmd 输入安装命令 pip install 模块名 (如果你觉得安
装速度比较慢, 你可以切换国内镜像源))
第三方库的安装:pip install + 模块名 或者 带镜像源 pip install -i https://pypi.douban.com/simple/ +模块名
2)模块安装问题:
如果安装python第三方模块:
1. win + R 输入 cmd 点击确定, 输入安装命令 pip install 模块名 (pip install requests) 回车
2. 在pycharm中点击Terminal(终端) 输入安装命令 。
安装失败原因:
失败一: pip 不是内部命令 解决方法: 设置环境变量 。
失败二: 出现大量报红 (read time out) 解决方法: 因为是网络链接超时, 需要切换镜像源 。
清华:https://pypi.tuna.tsinghua.edu.cn/simple
阿里云:https://mirrors.aliyun.com/pypi/simple/
中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/
华中理工大学:https://pypi.hustunique.com/
山东理工大学:https://pypi.sdutlinux.org/
豆瓣:https://pypi.douban.com/simple/ 例如:pip3 install -i
https://pypi.doubanio.com/simple/ 模块名 -
失败三: cmd里面显示已经安装过了, 或者安装成功了, 但是在pycharm里面还是无法导入 解决
方法: 可能安装了多个python版本 (anaconda 或者 python 安装一个即可) 卸载一个就好 或者
你pycharm里面python解释器没有设置好。
3)如何配置pycharm里面的python解释器?
1. 选择file(文件) >>> setting(设置) >>> Project(项目) >>> python interpreter(python解
释器) 2. 点击齿轮, 选择add 3. 添加python安装路径。
4)pycharm如何安装插件?
1. 选择file(文件) >>> setting(设置) >>> Plugins(插件) 2. 点击 Marketplace 输入想要安装
的插件名字 比如:翻译插件 输入 translation / 汉化插件 输入 Chinese 3. 选择相应的插件点击
install(安装) 即可 4. 安装成功之后 是会弹出 重启pycharm的选项 点击确定, 重启即可生效。
二、代码展示
"""
# 导入数据请求模块
import requests
# 导入正则
import re
# 导入json
import json
# 导入格式化输出模块
from pprint import pprint
# 导入csv模块
import csv
# 导入时间模块
import time
# 创建文件
f = open('python多页.csv', mode='a', encoding='utf-8', newline='')
csv_writer = csv.DictWriter(f, fieldnames=[
'职位名',
'公司名',
'城市',
'区域',
'薪资',
'经验',
'学历',
'公司规模',
'公司领域',
'详情页',
])
# 写入表头
csv_writer.writeheader()
"""
1. 发送请求, 模拟浏览器对于url地址发送请求
- 需要请求工具 ---> requests
- 老师, 我英语不好, 可以学习编程吗? 可以学习python吗?
单词不需要死记硬背, python常用关键单词词汇 135+左右
python常用单词词汇文本
pycharm 翻译插件 ---> 自己去安装
- 模拟浏览器
爬虫模拟浏览器, 都是用请求头... headers
- 如果你是VIP学员, 远程安装 解答辅导 都是可以
"""
for page in range(1, 11):
try:
# 确定url地址
time.sleep(1)
url = f'https://www.lagou.com/wn/jobs?pn={page}&fromSearch=true&kd=python'
# 模拟浏览器
headers = {
# cookie 用户信息, 常用于检测是否登陆账号
# User-Agent 用户代理, 表示浏览器基本身份标识
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/101.0.0.0 Safari/537.36'
}
# 发送请求 ---> <Response [200]> 响应对象 200 状态码 表示请求成功
response = requests.get(url=url, headers=headers)
# 2. 获取数据 print(response.text)
"""
3. 解析数据 ---> re正则表达式 会用 1 不会用 0
简单的使用re ----> 详细re教学 在系统课程教授2.5个小时左右...
re.findall('什据么数', 什么地方) re模块findall方法
从 什么地方 去找什么数据
说字典的同学, 说明你自学, 基础学的不怎么扎实...
"""
html_data = re.findall('<script id="__NEXT_DATA__" type="application/json">(.*?)</script', response.text)[0]
# 转成字典数据类型 自定变量命名规则, 蛇形命名 驼峰命名 Sad jsonData
json_data = json.loads(html_data)
# 字典取值---> 键值对取值 根据冒号左边的内容[键], 提取冒号右边的内容[值]
result = json_data['props']['pageProps']['initData']['content']['positionResult']['result']
# for遍历
for index in result:
# 详情页
link = f'https://www.lagou.com/wn/jobs/{index["positionId"]}.html'
dit = {
'职位名': index['positionName'],
'公司名': index['companyFullName'],
'城市': index['city'],
'区域': index['district'],
'薪资': index['salary'],
'经验': index['workYear'],
'学历': index['education'],
'公司规模': index['companySize'],
'公司领域': index['industryField'],
'详情页': link,
}
job_info = index['positionDetail']
job_info = re.sub('<.*?>', '', job_info)
name = index['positionName'] + index['companyFullName']
name = re.sub(r'[/\:"?*<>\n|]', '', name)
with open('data\\' + name + '.txt', mode='a', encoding='utf-8') as f:
f.write(job_info)
f.write('\n')
f.write(link)
# 写入数据
csv_writer.writerow(dit)
print(dit)
except Exception as e:
print(e)
三、效果展示
你想要的数据都在这里呀~来来来 教大家学爬虫啦!
总结
拉勾网是互联网史上最大招聘网站。作为行业老大,资源多,能实实在在帮大家找工作啦。
想找工作的嗨起来~大牛一旦看中你,就能一键找到好工作啦~
好滴!这款简单的爬虫案例就写完了,大家都学起来哈~
✨完整的素材源码等:可以滴滴我吖!或者点击文末hao自取免费拿的哈~
🔨推荐往期文章——
项目0.1 【Python抢票神器】火车票枪票软件到底靠谱吗?实测—终极攻略。
项目0.2 【Python实战】WIFI密码小工具,甩万能钥匙十条街,WIFI任意连哦~(附源码)
项目0.3 【Python实战】再分享一款商品秒杀小工具,我已经把压箱底的宝贝拿出来啦~
项目0.7 【Python合集】“所有晦暗都留给过往,从遇见你开始,凛冬散尽,星河长明”
项目4.7 【Python订票系统】这才是看电影选座的正确方法,原来我们都上当了~(选座位、一键购票)
🎁文章汇总——
Python文章合集 | (入门到实战、游戏、Turtle、案例等)
(文章汇总还有更多你案例等你来学习啦~源码找我即可免费!)