首页 > 编程语言 >8K-15K的python工作,你,来吗?

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

时间:2023-02-18 22:31:33浏览次数:39  
标签:8K index python text re 模块 import 15K csv

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

本次采集网站如下图:

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

源码资料电子书:​​点击此处跳转文末名片获取​​
主要运用知识点:
1. re正则表达式模块的简单使用
2. requests模块的使用
3. 保存csv
环境准备
  • python 3.8
  • pycharm
模块准备
re
json
csv

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

一. 数据来源分析

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

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

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

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

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

8K-15K的python工作,你,来吗?_数据_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工作,你,来吗?_json_11

标签:8K,index,python,text,re,模块,import,15K,csv
From: https://blog.51cto.com/u_15959262/6065693

相关文章

  • [oeasy]python0086_ASCII_出现背景_1963年_DEC_PDP系列主机_VT系列终端
    编码进化回忆上次内容上次回顾了字符编码的新陈代谢ibm曾经的EBCDIC由于字符不连续导致后续出现无数问题随着网络的发展数据交换的需要原来的......
  • Python实现单例模式
    Python实现单例模式有两种方法:一种是通过静态变量方法实现单例模式;另一种是通过装饰器实现单例模式。具体实现代码如下:#方法一:静态变量方法实现单例模式。#1.构造方法私有......
  • Python学习之线性数据结构(二)
    print(end='')end=表示语句结束后加入的东西print(sep='')sep表示间隔符1223这个间隔的空格就是间隔符print(1,2,sep='',end='')#打印数字1和2间隔符为空格......
  • 关于python中将字典的所有key组成一个列表的方式
    关于python的字典,我们可以通过MyDict.keys()得到这个字典的所有的key,然后还能通过for循环进行遍历但是细心一点、我们可以发现,MyDict.keys()其实是一个<class'dict_ke......
  • Python 学习01 基础知识
    ......
  • 用python绘制1960年到2019年全国GDP增长图
    frompyecharts.chartsimportBar,Timelinefrompyecharts.optionsimport*#处理数据f=open("D:/1960-2019全球GDP数据.csv","r",encoding="GB2312")#读取每一行,返回是......
  • Windows下面查看python安装路径的快捷方法
    在Windows(Win10-Win11)下面,查看python的安装路径,比较快捷的方法是:打开CMD窗口,运行wherepython便可以查看python安装路径,不同机器不一样:C:\Users\WinUser01\AppData\Loca......
  • python获取子线程结果
    fromthreadingimportThreadclassMyThread(Thread):def__init__(self,func,args=()):Thread.__init__(self)self.func=funcs......
  • python Django基础
    django官网https://www.djangoproject.com/download/文档https://docs.djangoproject.com/安装Django安装官网LTS版本pipinstalldjango==3.2.15Django命令>django......
  • python面向对象
    1、面向对象和面向过程的区别1.1、面向过程:是一种以事件为中心的编程思想,更关注过程。简单的问题可以用面向过程的思路来解决,直接有效,但是当问题的规模变得更大时,用面向过程......