1.采集数据网站:boss直聘

为避免打广告嫌疑,自行前往官网查看

2.网站分析

搜索条件较上一篇51要多一点,但是提交参数原理都是一样的

那么我们就下抓取职位为python,范围为全国的数据,其他也不限

 对网站数据查看,都在源码里

3.对构造url,请求

url:

https://www.zhipin.com/c100010000/?query=python&page=1&ka=page-1

直接请求发现请求不过数据来,

那么就对请求方式及请求头等进行分析,发现参数没有什么特别的地方,就分析请求头,携带了一个cookie,那么就带上吧,发现带上后...

是可以请请求到数据的

4.编写代码:

# -*- coding: UTF-8 -*-
'''
@Author :Jason
'''
import requests
from time import sleep
from lxml import etree
import random
from urllib.parse import  quote
import csvclass Boss():def __init__(self):# 这个url前面是固定的主站域名 + 地区编号(暂时定为全国就不改了) + 查询词 + 页数 + 负的页数self.bash_url = "https://www.zhipin.com/c100010000/?query="+"search_text"+"&page="+"page_num"+"&ka=page-"+"page_num"self.proxies = random.choice([#我的代理池,])self.headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.75 Safari/537.36'}def get_info(self):search_text = input("请输入想要查询的职位:")encode_search_text = quote(str(search_text))cookie_dict = {}cookie = 'lastCity=101010100; __c=1577099728; __g=-; __l=l=%2Fwww.zhipin.com%2F&r=https%3A%2F%2Fwww.baidu.com%2Flink%3Furl%3D6qIB6tnnO4bbTEy4OgymN0OLz2T7jEs1bIOggJ6JCOwfjvzNjoF_LMICDoRv0ReD%26wd%3D%26eqid%3Dfe051a5c0013a37e000000045e00a1cd&friend_source=0&friend_source=0; Hm_lvt_194df3105ad7148dcf2b98a91b5e727a=1577099728,1577100137; __a=57714439.1577099728..1577099728.16.1.16.16; __zp_stoken__=fab0SNjGDZ%2BPKE153aV5BYG6FFCYoMsFMUrkxGnAdQ15UfsYeCJCXGlKmrjtyCWsKA5%2FEnhiPUKj0VPKtxxXJU206K6FvIg82vcCMKWuKOzd9YBaStE%2FIcfeR40m1QEv8PLL; Hm_lpvt_194df3105ad7148dcf2b98a91b5e727a=1577101514'for i in cookie.split(';'):cookie_dict[i.split('=')[0]] = i.split('=')[1]for page_num in range(1,2):#翻页数,自定义start_url = self.bash_url.replace("search_text",str(encode_search_text)).replace("page_num",str(page_num))res = requests.get(start_url,headers=self.headers,proxies=self.proxies,cookies=cookie_dict)res.encoding = "utf-8"parseHtml = etree.HTML(res.text)position_list = parseHtml.xpath('//div[@class="job-title"]/text()')salary_list = parseHtml.xpath('//span[@class="red"]/text()')address_list = parseHtml.xpath('//div[@class="info-primary"]/p[1]/text()')company_list = parseHtml.xpath('//div[@class="company-text"]//h3[@class="name"]/a/text()')#皮一下,让你白建个文件,我这里存到txt文档中for i,p in enumerate(position_list):with open(r'./boss.txt',"a",encoding="utf-8",errors="ignore") as f:f.write(p+" "+salary_list[i]+" "+address_list[i]+" "+company_list[i]+"\n")if __name__ == "__main__":with open('boss直聘职位数据表.csv', 'a', newline='') as f:f = csv.writer(f)f.writerow(('职位', '薪水', '地点', '公司名称'))#就不采集这么多数据了,职位薪水地点公司名,其他需要的自行增加boss = Boss()boss.get_info()

5.采集的部分字段及其效果

此采集时间为2019-12-23.网站可能变更迭代,脚本不一定长期有效

声明: 采集仅源自个人兴趣爱好,数据集仅供个人使用,不涉及商用,侵权联系删除。

爬虫-招聘系列2----boss某直聘相关推荐

  1. 爬虫-招聘系列1----51Job

    1.采集数据网站:51job前程无忧 为避免打广告嫌疑,自行前往官网查看 2.分析网站查询方式: 总体来说分为4种 ,如下图: 即按职位,分为全国和某省市:按公司名称,分为全国和某省市 3.先按全文( ...

  2. Boss 直聘数据岗招聘信息分析(二)

    项目背景 上一篇爬取Boss数据直聘数据后,我们可以试着对这些数据进行分析并整理一些结论出来.我们的大致步骤如下: 清洗整理 确定分析目的与思路 进行数据分析 得出数据分析结论 分析思路 数据岗位基本 ...

  3. BOSS直聘一键屏蔽外包公司,找工作面试专用JAVA工具

    package notCompany;import cn.hutool.core.util.StrUtil; import cn.hutool.http.HttpRequest; import cn. ...

  4. python爬取boss直聘招聘信息_Python爬虫实战-抓取boss直聘招聘信息

    Python Python开发 Python语言 Python爬虫实战-抓取boss直聘招聘信息 实战内容:爬取boss直聘的岗位信息,存储在数据库,最后通过可视化展示出来 PS注意:很多人学Pyth ...

  5. python爬虫爬取Boss直聘网招聘信息

    学校给我们大三同学找了一个培训组织,做了10天的实训,我学习的是python,最后是以一个爬虫程序为结业作业,就着这个实训,顺便发一个博客记录一下.考虑到我们即将就业,所以准备爬一个招聘网站,最终决定 ...

  6. 最新puppeteer爬虫boss直聘招聘公司及职位信息

    ​失踪人口回归了!由于一直在爬虫,遇到的坑比较多,先大致汇报下 1.获取全国所有企业 2.通过企查查补充企业信息 3.爬虫boss直聘获取公司及职位信息 本次先说爬虫boss直聘 目的: 获取指定城市 ...

  7. Python爬虫实战之二 - 基于Scrapy框架抓取Boss直聘的招聘信息

    Python爬虫实战之三 - 基于Scrapy框架抓取Boss直聘的招聘信息 ---------------readme--------------- 简介:本人产品汪一枚,Python自学数月,对于 ...

  8. python爬虫招聘-Python爬虫实战-抓取boss直聘招聘信息

    实战内容:爬取boss直聘的岗位信息,存储在数据库,最后通过可视化展示出来 PS注意:很多人学Python过程中会遇到各种烦恼问题,没有人帮答疑容易放弃.为此小编建了个Python全栈免费答疑.裙 : ...

  9. 爬虫系列---scrapy post请求、框架组件和下载中间件+boss直聘爬取

    一 Post 请求 在爬虫文件中重写父类的start_requests(self)方法 父类方法源码(Request): def start_requests(self):for url in sel ...

最新文章

  1. Fiddler 获取、安装与浏览器代理设置,Fiddler的第一次使用
  2. MySQL常见备份与恢复方案
  3. Android踩坑日记:RecyclerView中EditText和ImageView的ViewHolder复用坑
  4. 微服务架构下,解决数据一致性问题的实践 1
  5. update-rc.d: error: XXX Default-Start contains no runlevels, aborting.
  6. 一步一步配置aspnetdb数据库
  7. solaris 命令
  8. 把男朋友变成儿子你只需要一秒
  9. 复工后,看看他们都是怎么上班的!
  10. java 调用python_Java平台如何调用Python平台?
  11. java内联_JAVA中的内联函数
  12. oracle to mysql demo_oracle to mysql
  13. linux游戏调试,LINUX游戏服务器的安装与调试.doc
  14. centos6安装python_如何在CentOS6上安装Python2.7和Python3.3
  15. 自动化测试pytest测试框架实例
  16. oracle下载地址
  17. 易筋SpringBoot 2.2 | 第三十二篇:Redis Docker入门
  18. ASP.net 探针
  19. 挚文集团2021年Q3净营收37.592亿元 环比增长2.4%
  20. 网络电视服务器账号密码,中兴网络电视机顶盒密码是多少

热门文章

  1. python自动表单填充工具(内含rar)
  2. rar和zip格式的压缩与解压
  3. 网易云商-七鱼客服使用感受
  4. 多多情报通:拼多多数据怎么看?
  5. 用java实现简单绘图
  6. 【OpenCV学习笔记】之图像金字塔(Image Pyramid)
  7. Elasticsearch - JNA
  8. 实现数字电视机顶盒画面的纯键盘和遥控操作网页
  9. 为什么小样本不建议用深度学习?
  10. maven-jar包的来源