0
点赞
收藏
分享

微信扫一扫

8K-15K的python工作,你,来吗?

嗨害大家好鸭!我是小熊猫~

本次采集网站如下图:

8K-15K的python工作,你,来吗?_json

源码资料电子书:​​点击此处跳转文末名片获取​​
主要运用知识点:

1. re正则表达式模块的简单使用
2. requests模块的使用
3. 保存csv

环境准备
  • python 3.8
  • pycharm
模块准备

re
json
csv

8K-15K的python工作,你,来吗?_正则表达式_02

一. 数据来源分析

1. 确定需求:
要爬取的内容是什么?

2. 查询数据来源
通过开发者工具(F12 或者 鼠标右键点击检查 选择 network)进行抓包分析, 分析数据是从哪里来的

8K-15K的python工作,你,来吗?_json_03

8K-15K的python工作,你,来吗?_正则表达式_04

二. 代码实现过程
  1. 发送请求, 对于招聘列表页面发送请求

8K-15K的python工作,你,来吗?_json_05

  1. 获取数据, 获取服务器返回响应数据开发者工具里面所看到 response 显示内容
  2. 解析数据, 提取我们想要的数据内容招聘岗位基本信息
  3. 保存数据, 把数据信息保存表格里面
数据请求模块

import requests

导入正则表达式模块

import re

导入json

import json

导入格式化输出模块

from pprint import pprint

导入csv模块

import csv

8K-15K的python工作,你,来吗?_数据_06

创建文件

f = open('data.csv', mode='a', encoding='utf-8', newline='')
csv_writer = csv.DictWriter(f, fieldnames=[
'职位',
'公司',
'城市',
'经验',
'学历',
'薪资',
'福利',
'公司领域',
'公司规模',
'公司性质',
'发布日期',
'公司详情页',
'职位详情页',#python学习交流:660193417#
])
csv_writer.writeheader()

伪装模拟 headers 字典数据类型

headers = {
'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 = requests.get(url=url, headers=headers)

转数据类型

html_data = re.findall('window.__SEARCH_RESULT__ = (.*?)</script>', response.text)[0]

8K-15K的python工作,你,来吗?_正则表达式_07

for循环遍历,提取元素

for index in json_data['engine_jds']:
dit = {
'职位': index['job_name'],
'公司': index['company_name'],
'城市': index['workarea_text'],
'经验': index['attribute_text'][1],
'学历': index['attribute_text'][-1],
'薪资': index['providesalary_text'],
'福利': index['jobwelf'] ,
'发布日期': index['issuedate'],
'公司详情页': index['company_href'],
'职位详情页': index['job_href'],
}
csv_writer.writerow(dit)
print(dit)

8K-15K的python工作,你,来吗?_json_08

8K-15K的python工作,你,来吗?_数据_09

8K-15K的python工作,你,来吗?_正则表达式_10

8K-15K的python工作,你,来吗?_数据_11

👇问题解答 · 源码获取 · 技术交流 · 抱团学习请联系👇

举报

相关推荐

0 条评论