python爬取招聘网信息并保存为csv文件

这篇具有很好参考价值的文章主要介绍了python爬取招聘网信息并保存为csv文件。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

python爬取招聘网信息并保存为csv文件

我们以猎聘网为例

一、打开网站查找信息

python爬取招聘网信息并保存为csv文件
进入后搜索想要爬取的岗位信息,右键选择 “检查” 进入开发者界面

python爬取招聘网信息并保存为csv文件
点击右上角的network,选择doc
python爬取招聘网信息并保存为csv文件
然后点击图中的搜索按钮,输入想要爬取的岗位名称,然后刷新页面,选择搜索下边的第二个

python爬取招聘网信息并保存为csv文件
这个时候我们看到有我们需要的url,从中也可知网站的请求方式为get请求,我们也得用get请求!

部分代码解析:

1、导入模块
import parsel
import requests
import csv
2、用url放我们的网址
url = 'https://www.liepin.com/zhaopin/'
3、定义data放我们的参数

这个是网页中payload的参数,也就是url中问号后面的参数

data = {
    'inputFrom': 'www_index',
    'workYearCode': '0',
    'key': 'python',
    'scene': 'input',
    'ckId': 'kfpt1emhvkrshc9o4h2xquxd74pfihmb',
}
4、用headers放我们的请求头

请求头在网页中Request headers的最后面

headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) '
                  'Chrome/99.0.4844.74 Safari/537.36 Edg/99.0.1150.46 '
}
5、用response接收我们发出的请求

网页中用的是get请求,我们也得用get请求

response = requests.get(url=url, headers=headers, params=data)

选择网页中的css

selector = parsel.Selector(response.text)
6、把最大的标签提取出来
lis = selector.css('.left-list-box .job-list-item')
7、以最大的标签为基础,遍历所需要的信息
for li in lis:
    title = li.css('.job-title-box div:nth-child(1)::attr(title)').get()  # 标题
    city = li.css('.job-dq-box .ellipsis-1::text').get()  # 城市
    money = li.css('.job-detail-header-box .job-salary::text').get()  # 薪资
    tag_list = li.css('.job-labels-box .labels-tag::text').getall()  # 标签
    exp = tag_list[0]  # 经验要求
    edu = tag_list[1]  # 学历要求

    tag = ','.join(tag_list[2:])
    company_name = li.css('.company-name::text').get()  # 公司名称
    company_list = li.css('.company-tags-box span::text').getall()  # 公司标签
    company_tag = ','.join(company_list)
    href = li.css('.job-detail-box a:nth-child(1)::attr(href)').get()  # 详情页

','.join()用逗号把列表里面的元素合并成一个字符串数据

定义一个dit字典存放所需要的信息文章来源地址https://www.toymoban.com/news/detail-483650.html

    dit = {
        '标题': title,
        '城市': city,
        '薪资': money,
        '经验要求': exp,
        '学历要求': edu,
        '职位标签': tag,
        '公司名称': company_name,
        '公司标签': company_tag,
        '详情页': href,
    }
8、将获得的数据进行保存
f = open('招聘.csv', mode='a', encoding='utf-8', newline='')
css_write = csv.DictWriter(f, fieldnames=[
    '标题',
    '城市',
    '薪资',
    '经验要求',
    '学历要求',
    '职位标签',
    '公司名称',
    '公司标签',
    '详情页',
])
css_write.writerow(dit)  # 写入表头
# 打印在python中显示
    print(title, city, money, exp, edu, tag, company_name, company_tag, href)
9、完整代码
import parsel
import requests
import csv

f = open('招聘.csv', mode='a', encoding='utf-8', newline='')
css_write = csv.DictWriter(f, fieldnames=[
    '标题',
    '城市',
    '薪资',
    '经验要求',
    '学历要求',
    '职位标签',
    '公司名称',
    '公司标签',
    '详情页',
])

url = 'https://www.liepin.com/zhaopin/'

data = {
    'inputFrom': 'www_index',
    'workYearCode': '0',
    'key': 'python',
    'scene': 'input',
    'ckId': 'kfpt1emhvkrshc9o4h2xquxd74pfihmb',
}

headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) '
                  'Chrome/99.0.4844.74 Safari/537.36 Edg/99.0.1150.46 '
}

response = requests.get(url=url, headers=headers, params=data)

selector = parsel.Selector(response.text)
# 把最大的标签提取出来
lis = selector.css('.left-list-box .job-list-item')

for li in lis:
    title = li.css('.job-title-box div:nth-child(1)::attr(title)').get()  # 标题
    city = li.css('.job-dq-box .ellipsis-1::text').get()  # 城市
    money = li.css('.job-detail-header-box .job-salary::text').get()  # 薪资
    tag_list = li.css('.job-labels-box .labels-tag::text').getall()  # 标签
    exp = tag_list[0]  # 经验要求
    edu = tag_list[1]  # 学历要求
    # ','.join()用逗号把列表里面的元素合并成一个字符串数据
    tag = ','.join(tag_list[2:])
    company_name = li.css('.company-name::text').get()  # 公司名称
    company_list = li.css('.company-tags-box span::text').getall()  # 公司标签
    company_tag = ','.join(company_list)
    href = li.css('.job-detail-box a:nth-child(1)::attr(href)').get()  # 详情页

    dit = {
        '标题': title,
        '城市': city,
        '薪资': money,
        '经验要求': exp,
        '学历要求': edu,
        '职位标签': tag,
        '公司名称': company_name,
        '公司标签': company_tag,
        '详情页': href,
    }
    css_write.writerow(dit)  # 写入表头
    # 打印
    print(title, city, money, exp, edu, tag, company_name, company_tag, href)

到了这里,关于python爬取招聘网信息并保存为csv文件的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 数据分析4 -- 将爬取的数据保存成CSV格式

    什么是 CSV 文件 CSV(Comma-Separated Values) 是一种使用逗号分隔来实现存储表格数据的文本文件。 我们都知道表格有多种形式的存储,比如 Excel 的格式或者数据库的格式。CSV 文件也可以存储表格数据,并且能够被多种软件兼容,比如 Excel 就能直接打开 CSV 文件的表格,很多数

    2024年02月11日
    浏览(38)
  • chatgpt赋能python:Python如何保存数据到CSV文件中

    作为一门广泛应用于数据分析和机器学习的编程语言,Python提供了许多方法来处理和保存数据。其中之一是将数据保存到CSV文件中。本篇文章将介绍如何使用Python保存数据到CSV文件,在此过程中,我们会提到一些有用的Python库和技巧。 CSV是“逗号分隔值”(Comma-Separated Valu

    2024年02月10日
    浏览(49)
  • python采集数据保存csv, 文件内容乱码了怎么解决?

    如果你的 Python 程序采集到的数据在保存成 CSV 格式的文件时出现了乱码,那么可尝试以下解决方法: 1. 在打开 CSV 文件时指定编码方式 你可以使用 Python 中的 open() 函数打开 CSV 文件,并在 open() 函数中指定文件编码方式为 CSV 文件原始编码方式。如果 CSV 文件原始编码方式为

    2024年02月16日
    浏览(47)
  • 【python】爬取豆瓣电影排行榜TOP250存储到CSV文件中【附源码】

           代码首先导入了需要使用的模块:requests、lxml和csv。         如果出现模块报错         进入控制台输入:建议使用国内镜像源          我大致罗列了以下几种国内镜像源:              设置了请求头部信息,以模拟浏览器的请求,函数返回响应数据

    2024年02月04日
    浏览(53)
  • 爬虫项目实战2.1 Selenium爬取Boss招聘信息

    完成: 1.爬取信息 2.基于爬取结果筛选符合条件的信息    岗位名称、薪资、岗位要求、地区、公司名称、公司规模、细节链接 3.筛选base杭州的岗位保存到csv文件中 But容易出现网络不稳定造成的无法定位元素所在位置的情况,小范围爬取可以 4.基于csv分析后续

    2024年02月05日
    浏览(48)
  • Python对csv文件一键多值保存为json本地文件再读取加速效率(3)

    🌸 欢迎来到Python办公自动化专栏—Python处理办公问题,解放您的双手 🏳️‍🌈 博客主页:一晌小贪欢的博客主页 👍 该系列文章专栏:Python办公自动化专栏 文章作者技术和水平有限,如果文中出现错误,希望大家能指正🙏 ❤️ 欢迎各位佬关注! ❤️ 1、给我一张表格直

    2024年02月11日
    浏览(150)
  • Python提取JSON文件中的指定数据并保存在CSV或Excel表格文件内

      本文介绍基于 Python 语言,读取 JSON 格式的数据,提取其中的指定内容,并将提取到的数据保存到 .csv 格式或 .xlsx 格式的表格文件中的方法。    JSON 格式的数据在数据信息交换过程中经常使用,但是相对而言并不直观;因此,有时我们希望将 JSON 格式的数据转换为 E

    2024年02月11日
    浏览(54)
  • 爬虫与数据分析项目实战2.1 Selenium爬取Boss招聘信息

    完成: 1.爬取信息 2.基于爬取结果筛选符合条件的信息    岗位名称、薪资、岗位要求、地区、公司名称、公司规模、细节链接 3.筛选base杭州的岗位保存到csv文件中 But容易出现网络不稳定造成的无法定位元素所在位置的情况,小范围爬取可以 4.基于csv分析后续

    2024年02月08日
    浏览(48)
  • 【python】爬取知乎热榜Top50保存到Excel文件中【附源码】

    欢迎来到英杰社区 https://bbs.csdn.net/topics/617804998     这篇博客将介绍如何使用Python编写一个爬虫程序,从斗鱼直播网站上获取图片信息并保存到本地。我们将使用 request s 模块发送HTTP请求和接收响应,以及 os 模块处理文件和目录操作。         如果出现模块报错      

    2024年02月03日
    浏览(57)
  • Python(wordcloud):根据词频信息(xlsx、csv文件)绘制词云图

    本文将介绍如何用python根据词频信息(xlsx、csv文件)绘制词云图,除了绘制常规形状的词云图(比如长方形),还可以指定词云图的形状。 1、安装相关的库 2、导入相关的库 1、文件读取 本文使用的数据集是excel文件(后缀名是.xlsx),该文件包含2个字段:以及对应的

    2024年01月18日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包