python爬虫-爬取boss直聘的职位信息
爬取boss直聘的相应的职位信息:
一个同学今天想找工作,问我有什么好单位,关键我也不清楚,于是我去各大招聘网站搜索了下,有很多招聘信息,看的我眼花缭乱,刚看完的职位,忘记收藏又过去搜索,感觉太麻烦,于是就想着把内容爬取下来,慢慢看,慢慢分析,先从boss直聘开始爬取。
具体代码如下
import requests
from lxml import etree
import urllib3
urllib3.disable_warnings()
import time# proxy = {# 'http':'123.54.47.203:9999',
# }
# 获取第一个url
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.132 Safari/537.36'
}def get_details_url(base_url,location='hangzhou',engineer='自动化测试',page=1):locations = {'xian':'c101110100','hangzhou':'c101210100'}url = base_url + '/' + locations[location] + '/'print(url)# 发送请求获取页面源码# params = 'query={}&page={}&ka=page-{}'.format(engineer,page,page) 这种方式好像不行,不知道为什么params = {'query':engineer,'page':page,'ka':'page'+'-'+ str(page)}res = requests.get(url=url,headers=headers,params=params,verify=False)# print(res.content.decode("utf-8"))result = res.content.decode("utf-8")# 解析页面内容为html文档树结构html = etree.HTML(result)lis = html.xpath('//div[@class="job-list"]/ul/li')# print(lis)# 获得返回的详情页面的urldetail_urls = []for li in lis:detail_url = li.xpath('.//div[@class="primary-box"]/@href')[0]detail_url = base_url + detail_url# print(detail_url)detail_urls.append(detail_url)return detail_urlsbase_url = 'https://www.zhipin.com'
print(get_details_url(base_url))
details_url = get_details_url(base_url)# 爬取详情页面的内容薪水和职位和公司results = []
datas={}
for detail_url in details_url[:5]:time.sleep(5)res = requests.get(url=detail_url,headers=headers,verify=False)# print(res.content.decode("utf-8"))result = res.content.decode("utf-8")# print(res.status_code)html = etree.HTML(result)divs = html.xpath("//div[@class='job-primary detail-box']//div[@class='info-primary']//div[@class='name']")# print(divs)eng = divs[0].xpath('./h1/text()')[0]salary = divs[0].xpath('./span/text()')[0]company_dec = html.xpath('//div[@class="job-box"]//div[@class="inner home-inner"]')[0]company = company_dec.xpath('.//div[@class="job-sider"]//div[@class="company-info"]/a[1]/@title')[0]office_decription = company_dec.xpath('.//div[@class="detail-content"]//div[@class="job-sec"]//div[@class="text"]/text()')[0]datas['company'] = companydatas['office_decription'] = office_decriptiondatas['eng'] = engdatas['salary'] = salaryfor i,j in datas.items():datas[i] = str(j).strip().strip('\\n')# print(datas)results.append(datas)print(results)
本次爬取遇到的问题:
1.输出的网页源码信息看着不是我想要的?
解决方式:添加cookie信息(通过f12抓包获取,然后添加到请求头中),顺便说下什么是cookie,cookie是服务端为了识别用户的身份,在客户第一次访问服务器后,服务端在客户端本地存取的一些数据(也叫session跟踪,一般不大于4kb),用户访问其他链接时就会带上cookie信息
cookie的格式如下
2.为什么爬两次就又爬取不到了?
解决方式:这是因为网站设置了反爬虫机制,所以在爬取时,可以试试添加等待时间,以更大程度的模拟真实用户的场景
3.爬取的次数多了,可能被网站识别,有可能造成访问不了人家网址了,该如何解决?
解决方式:可以通过设置代理ip
python爬虫-爬取boss直聘的职位信息相关推荐
- python爬虫爬取Boss直聘网招聘信息
学校给我们大三同学找了一个培训组织,做了10天的实训,我学习的是python,最后是以一个爬虫程序为结业作业,就着这个实训,顺便发一个博客记录一下.考虑到我们即将就业,所以准备爬一个招聘网站,最终决定 ...
- Python笔记-爬取Boss直聘的招聘信息
Python笔记-爬取Boss直聘的招聘信息 最近迷上了爬虫,爬取招聘信息,存在MongoDB上 代码思路和上一篇爬取酷狗TOP500差不多,但是在使用CSS选择器的时候,有两组信息是连在一起,所以使 ...
- python爬取boss直招_简易python爬虫爬取boss直聘职位,并写入excel
1,默认城市是杭州,代码如下 #! -*-coding:utf-8 -*- from urllib import request, parse from bs4 import BeautifulSou ...
- boss直聘python_简易python爬虫爬取boss直聘职位,并写入excel
#! -*-coding:utf-8 -*- from urllib import request, parse from bs4 import BeautifulSoup import dateti ...
- python爬取boss直聘招聘信息_年底啦,利用Python爬取Boss直聘的招聘信息,为明年跳槽做准备...
原标题:年底啦,利用Python爬取Boss直聘的招聘信息,为明年跳槽做准备 前言 为什么都说程序员的薪资高,但是刚开始入职的你,薪资并不是自己想象中的那样,首先是你的工作经验不足,其次就是需要不断的 ...
- 写一个爬虫爬取boss直聘网站
好的,我可以为您简要介绍如何编写一个爬虫来爬取 BOSS 直聘网站. 首先,您需要准备好以下几个东西: 安装 Python,并使用 pip 安装爬虫所需的库,如 requests 和 Beautifu ...
- python爬取boss直聘招聘信息_Python笔记-爬取Boss直聘的招聘信息
2018-05-09笔记: 最近迷上了爬虫,爬取招聘信息,存在MongoDB上 代码思路和上一篇爬取酷狗TOP500差不多,但是在使用CSS选择器的时候,有两组信息是连在一起,所以使用正则来获取 本来 ...
- python爬虫——爬取拉勾上的职位信息
爬取拉勾网站岗位数据 1.调用网页 查找网页链接规律 写一个for循环,爬取每一个网页的职位信息 def down():for i in range(1,4):if i == 1:strUrl = & ...
- 爬虫练习(一)爬取Boss直聘的招聘信息
通过职位搜索"Python开发",看下搜索的结果 https://www.zhipin.com/job_detail/?query=python开发&city=101020 ...
最新文章
- python爬虫入门-Python 爬虫从入门到进阶之路(一)
- 深入Java虚拟机:Class文件实例解析
- 之江杯2020零样本目标分割题参赛总结
- Linux 文件系统在线扩容实战
- jquery特效(1)—点击展示与隐藏全文
- Redis——学习之路一(初识redis)
- android x86 笔记本卡屏,笔记本死机卡屏怎么办
- Swing超市收银系统附图
- 统考英语和计算机什么时候出成绩单,网络教育统考成绩啥时候出来
- godspeed机器人_cs1.6kz地图包下载
- mouseover 和 mouseenter
- 2021杭电多校第三场 D题—Game on Plane(思维题)
- Chrome安装CRX插件方法
- 利用NCBIdatasets批量下载大规模生信数据集
- 知网CAJ转为PDF下载
- 基于 HTML5 + WebGL 的宇宙 3D 展示系统
- flask-sqlachemy note
- 平方数列、立方数列求和公式与推导
- [附源码]Python计算机毕业设计大学生二手物品交易网站
- SQLServer 服务启动失败
热门文章
- Linux_正则表达式与文件格式化处理详解《鸟哥的Linux私房菜》学习笔记(极其详细,看完这篇必学会)
- 电信计算机知识考试,2019中国电信计算机专业知识模拟试卷 --- 答案解析(九)...
- Linux服务器 | 01.服务器购买与基本配置
- 使用IDEA调试Arthas
- 浅谈Masonry的使用技巧
- 无线群控服务器转让,群控系统无限开接手的项目
- maven中央仓库找不到jconsole-1.8.0.jar和tools-1.8.0.jar包
- gdb调试,splint_valgrind代码检查
- 「深度好文」TCP BBR拥塞控制算法深度解析
- IDEA从零到精通(16)之IDEA中用Spring Initializr创建springboot项目