Python爬取智联招聘数据分析师岗位相关信息的方法
作者:chuancyli 发布时间:2021-04-23 15:01:02
标签:Python,爬取,智联招聘数据
进入智联招聘官网,在搜索界面输入‘数据分析师',界面跳转,按F12查看网页源码,点击network
选中XHR,然后刷新网页
可以看到一些Ajax请求, 找到画红线的XHR文件,点击可以看到网页的一些信息
在Header中有Request URL,我们需要通过找寻Request URL的特点来构造这个请求网址,
点击Preview,可以看到我们所需要的信息就存在result中,这信息基本是json格式,有些是列表;
下面我们通过Python爬虫来爬取上面的信息;
代码如下:
import requests
from urllib.parse import urlencode
import json
#from requests import codes
#import os
#from hashlib import md5
#from multiprocessing.pool import Pool
#import re
def get_page(offset):
params = {
'start': offset,
'pageSize': '90',
'cityId': '530',
'salary': '0,0',
'workExperience': '-1',
'education': '-1',
'companyType': '-1',
'employmentType': '-1',
'jobWelfareTag': '-1',
'kw': '数据分析师',
'kt': '3',
'_v': '0.77091902',
'x-zp-page-request-id': '8ff0aa73bf834b408f46324e44d89b84-1562722989022-210101',
'x-zp-client-id': '2dc4c9a4-e80d-4488-84a3-03426dd69a1e'
}
base_url = 'https://fe-api.zhaopin.com/c/i/sou?'
url = base_url + urlencode(params)
try:
resp = requests.get(url)
print(url)
if 200 == resp.status_code:
print(resp.json())
return resp.json()
except requests.ConnectionError:
return None
def get_information(json_page):
if json_page.get('data'):
results = json_page.get('data').get('results')
for result in results:
yield {
'city': result.get('city').get('display'),
'company': result.get('company').get('name'),
#'welfare':result.get('welfare'),
'workingExp':result.get('workingExp').get('name'),
'salary':result.get('salary'),
'eduLevel':result.get('eduLevel').get('name')
}
print('succ')
def write_to_file(content):
with open('result.txt','a',encoding='utf-8') as f:
print(type(json.dumps(content)))
f.write(json.dumps(content,ensure_ascii=False)+'\n')
def main(offset):
json_page=get_page(offset)
for content in get_information(json_page):
write_to_file(content)
if __name__=='__main__':
for i in range(10):
main(offset=90*i)
爬取结果如下:
来源:https://blog.csdn.net/sinat_38151275/article/details/95320727


猜你喜欢
- 本文实例讲述了python求解水仙花数的方法。分享给大家供大家参考。具体如下:一个N位的十进制正整数,如果它的每个位上的数字的N次方的和等于
- 算法比较暴力,直接用穷举的方式一个一个去试,所以程序运行时间会比较长,运行时间视数独而定。不过从一开始到运行成功,整个过程却是一波三折,设计
- Pytorch凭借动态图机制,获得了广泛的使用,大有超越tensorflow的趋势,不过在工程应用上,TF仍然占据优势。有的时候我们会遇到这
- 程序需要多进程见共享内存,使用了Manager的dict。最初代码如下:from multiprocessing import Proces
- on里面的xlrd模块详解(一) - 疯了的小蜗 - 博客园【内容】:>那我就一下面积个问题对xlrd模块进行学习一下:什么是xlrd
- JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。它基于JavaScript(Standard
- 经典鼠标控制左右滚动,图片间隔无缝滚动,悬停滚动,图片控制左右滚动JavaScript代码<!DOCTYPE html PUBLIC
- 发邮件是一种很常见的操作,本篇主要介绍一下如何用python实现自动发件。import smtplibfrom email.mime.tex
- <div id="outer" style="background:#099"> cli
- Python3中的map()、reduce()、filter() 这3个一般是用于对序列进行操作的内置函数,它们经常需要与 匿名函数 lam
- 在Python所有的数据结构中,list具有重要地位,并且非常的方便,这篇文章主要是讲解list列表的高级应用,基础知识可以查看博客。 此文
- 最近无意中接触到了一篇文章,里面写了一个SQL的用法,是with...as,中午抽空记录一下用MySQL试了一下,发现并不支持该语法(版本:
- 如果在INSERT语句末尾指定了ON DUPLICATE KEY UPDATE,并且插入行后会导致在一个UNIQUE索引或PRIMARY K
- 本文实例讲述了php查找指定目录下指定大小文件的方法。分享给大家供大家参考。具体实现方法如下:php查找文件大小的原理是遍历目录然后再利用f
- 一、数据集下载加州高速公路PEMS数据集这里绘制PEMS04中的交通流量数据。该数据集中包含旧金山2018年1月1日至2月28日的29条道路
- 除了使用 sys.exc_info() 方法获取更多的异常信息之外,还可以使用 traceback 模块,该模块可以用来查看异常的传播轨迹,
- 迭代器聊迭代器前我们要先清楚迭代的概念:通常来讲从一个对象中依次取出数据,这个过程叫做遍历,这个手段称为迭代(重复执行某一段代码块,并将每一
- 声明定位元素:position属性值设置除默认值static以外的元素,包括relative,absolute,fixed。平台:win/I
- 本文实例讲述了python3 常见解密加密算法。分享给大家供大家参考,具体如下:一.使用base64Base64编码,64指A-Z、a-z、
- 我认为多选列表具有完美的功能——只需按下Ctrl键,同时点击鼠标从列表中选择多个项目。以下是一个典型的多选列表框: 上面那个列表框