Python爬虫实战演练之采集拉钩网招聘信息数据

 更新时间:2021年10月21日 11:21:19   作者:松鼠爱吃饼干  
读万卷书不如行万里路,只学书上的理论是远远不够的,只有在实战中才能获得能力的提升,本篇文章手把手带你用Python采集拉钩网招聘信息数据,大家可以在过程中查缺补漏,提升水平

本文要点:

  • 爬虫的基本流程
  • requests模块的使用
  • 保存csv
  • 可视化分析展示

环境介绍

  • python 3.8
  • pycharm 2021专业版 激活码
  • Jupyter Notebook

pycharm 是编辑器 >> 用来写代码的 (更方便写代码, 写代码更加舒适)
python 是解释器 >>> 运行解释python代码的

本次目标

爬虫块使用

内置模块:

  • import pprint >>> 格式化输入模块
  • import csv >>> 保存csv文件
  • import re >>> re 正则表达式
  • import time >>> 时间模块

第三方模块:

  • import requests >>> 数据请求模块 pip install requests

win + R 输入cmd,回车输入安装命令pip install 模块名。

如果出现爆红,可能是因为,网络连接超时,切换国内镜像源

代码实现步骤: (爬虫代码基本步骤)

  • 发送请求
  • 获取数据
  • 解析数据
  • 保存数据

开始代码

导入模块

import requests  # 数据请求模块 第三方模块 pip install requests
import pprint  # 格式化输出模块
import csv  # csv保存数据
import time

发送请求

url = 'https://www.lagou.com/jobs/positionAjax.json?needAddtionalResult=false'
# headers 请求头 用来伪装python代码, 防止被识别出是爬虫程序, 然后被反爬
# user-agent: 浏览器的基本标识
headers = {
    'cookie': 'privacyPolicyPopup=false; user_trace_token=20211016201224-ba4d90f0-3db5-4647-a86e-411ee3d5bfef; __lg_stoken__=08639898fbdd53a7ebf88fa16e895b59a51e47738f45faef6a32b9a88d6537bf9459b2c6d956a636a99ff599c6a260f04514df42cb77f83065d55f48a2549e60381e8da811b8; JSESSIONID=ABAAAECAAEBABIIE72FFC38A79322951663B5C7AF10CD12; WEBTJ-ID=20211016201225-17c89047f4293-0d7a7cd583dc83-b7a1438-2073600-17c89047f43a90; sajssdk_2015_cross_new_user=1; sensorsdata2015jssdkcross=%7B%22distinct_id%22%3A%2217c8904800d57b-04f17ed5193984-b7a1438-2073600-17c8904800e765%22%2C%22%24device_id%22%3A%2217c8904800d57b-04f17ed5193984-b7a1438-2073600-17c8904800e765%22%7D; PRE_UTM=; PRE_HOST=; PRE_LAND=https%3A%2F%2Fwww.lagou.com%2Fjobs%2Flist%5Fpython%3FlabelWords%3D%26fromSearch%3Dtrue%26suginput%3D; LGSID=20211016201225-7b8aa578-74ab-4b09-885c-ebbe57a6029a; PRE_SITE=; LGUID=20211016201225-fda15dbb-7823-4a2d-9d80-258caf018f02; _ga=GA1.2.903785807.1634386346; _gat=1; Hm_lvt_4233e74dff0ae5bd0a3d81c6ccf756e6=1634386346; _gid=GA1.2.701447082.1634386346; X_HTTP_TOKEN=ba154973a88f2f64153683436141effc1d544fa2ed; Hm_lpvt_4233e74dff0ae5bd0a3d81c6ccf756e6=1634386352; LGRID=20211016201232-8913a057-d37d-41c3-b094-a04cf36515a7; SEARCH_ID=ff32d1294b464305b4e0907f659ef2a7',
    'referer': 'https://www.lagou.com/jobs/list_python?labelWords=&fromSearch=true&suginput=',
    'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/94.0.4606.81 Safari/537.36',
}
data = {
    'first': 'false',
    'pn': page,
    'kd': 'python',
    'sid': 'bf8ed05047294473875b2c8373df0357'
}
# response 自定义变量 可以自己定义 
response = requests.post(url=url, data=data, headers=headers)

<Response [200]> 获取服务器给我们响应数据

解析数据

json数据最好解析 非常好解析, 就根据字典键值对取值

result = response.json()['content']['positionResult']['result']
# 循环遍历  从 result 列表里面 把元素一个一个提取出来
for index in result:
    # pprint.pprint(index)
    # href = index['positionId']
    href = f'https://www.lagou.com/jobs/{index["positionId"]}.html'
    dit = {
        '标题': index['positionName'],
        '地区': index['city'],
        '公司名字': index['companyFullName'],
        '薪资': index['salary'],
        '学历': index['education'],
        '经验': index['workYear'],
        '公司标签': ','.join(index['companyLabelList']),
        '详情页': href,
    }
    # ''.join() 把列表转成字符串 '免费班车',
    csv_writer.writerow(dit)
    print(dit)

加翻页

for page in range(1, 31):
    print(f'------------------------正在爬取第{page}页-------------------------')
    time.sleep(1)

保存数据

f = open('招聘数据.csv', mode='a', encoding='utf-8', newline='')
csv_writer = csv.DictWriter(f, fieldnames=[
    '标题',
    '地区',
    '公司名字',
    '薪资',
    '学历',
    '经验',
    '公司标签',
    '详情页',
])

csv_writer.writeheader() # 写入表头

运行代码,得到数据

【付费VIP完整版】只要看了就能学会的教程,80集Python基础入门视频教学

点这里即可免费在线观看

到此这篇关于Python爬虫实战演练之采集拉钩网招聘信息数据的文章就介绍到这了,更多相关Python 采集拉钩网招聘信息数据内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • python实现学生管理系统源码

    python实现学生管理系统源码

    这篇文章主要为大家详细介绍了python实现学生管理系统源码,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-04-04
  • Django实现下载超大CSV文件的示例代码

    Django实现下载超大CSV文件的示例代码

    这篇文章主要为大家详细介绍了如何利用 Django 进行大型 CSV 文件的流传输,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2024-01-01
  • 为python设置socket代理的方法

    为python设置socket代理的方法

    这篇文章主要介绍了为python设置socket代理的方法,需要的朋友可以参考下
    2015-01-01
  • Python生成九宫格图片的示例代码

    Python生成九宫格图片的示例代码

    这篇文章主要介绍了Python生成九宫格图片的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-04-04
  • 如何用python多次调用exe文件运行不同的结果

    如何用python多次调用exe文件运行不同的结果

    有个C++项目是读取配置参数文件并打印对应的结果,后来需要多次修改配置文件并运行,于是想到写个python脚本执行这一过程,今天通过本文给大家分享python多次调用exe文件运行不同的结果,感兴趣的朋友一起看看吧
    2023-05-05
  • Pandas如何获取数据的尺寸信息

    Pandas如何获取数据的尺寸信息

    这篇文章主要介绍了Pandas如何获取数据的尺寸信息问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-02-02
  • python3.6编写的单元测试示例

    python3.6编写的单元测试示例

    这篇文章主要介绍了python3.6编写的单元测试,结合实例形式分析了Python3.6使用unittest模块进行单元测试的相关操作技巧与注意事项,需要的朋友可以参考下
    2019-08-08
  • Python常用内置函数总结

    Python常用内置函数总结

    这篇文章主要介绍了Python常用内置函数总结,本文罗列了数学相关 、功能相关、类型转换、字符串处理、序列处理函数等常用内置函数,需要的朋友可以参考下
    2015-02-02
  • 如何基于python测量代码运行时间

    如何基于python测量代码运行时间

    这篇文章主要介绍了如何基于python测量代码运行时间,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-12-12
  • Python 使用pandas实现查询和统计示例详解

    Python 使用pandas实现查询和统计示例详解

    这篇文章主要为大家介绍了Python 使用pandas实现查询和统计示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-08-08

最新评论