本文实现自动爬取拉钩网招聘信息,并将爬取结果保存在本地文本中(也可以将数据存入数据库)

使用到的Python模块包(Python3):
1.urllib.request
2.urllib.parse
3.json

简单分析:
1.在向服务器发送请求,需要传入post参数

2.搜索的职位列表信息存在一个josn文件中,可使用json模块解析

3.翻页
本文使用while True和break结合,根据json中result的值是否为空来判断当前要是否是最后一页,也可以根据json文件中pageSize和totalCount两个字段的值得出总的页面数。

完整代码:

import urllib.request
import urllib.parse
import jsondef open_url(url,page_num,keywords):try:#设置post请求参数page_data=urllib.parse.urlencode([('pn',page_num),('kd',keywords)])#设置headerspage_headers={'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.221 Safari/537.36 SE 2.X MetaSr 1.0','Connection':'keep-alive','Host':'www.lagou.com','Origin':'https://www.lagou.com','Cookie':'JSESSIONID=ABAAABAABEEAAJA8F28C00A88DC4D771796BB5C6FFA2DDA; user_trace_token=20170715131136-d58c1f22f6434e9992fc0b35819a572b; LGUID=20170715131136-13c54b92-691c-11e7-893a-525400f775ce; index_location_city=%E5%8C%97%E4%BA%AC; _gat=1; TG-TRACK-CODE=index_search; _gid=GA1.2.496231841.1500095497; _ga=GA1.2.1592435732.1500095497; Hm_lvt_4233e74dff0ae5bd0a3d81c6ccf756e6=1500095497; Hm_lpvt_4233e74dff0ae5bd0a3d81c6ccf756e6=1500104021; LGSID=20170715143221-5b993c04-6927-11e7-a985-5254005c3644; LGRID=20170715153341-ec8dbfd2-692f-11e7-a989-5254005c3644; SEARCH_ID=d27de6042bdf4d508cf9b39616a98a0d','Accept':'application/json, text/javascript, */*; q=0.01','Content-Type':'application/x-www-form-urlencoded; charset=UTF-8','Referer':'https://www.lagou.com/jobs/list_%E6%95%B0%E6%8D%AE%E6%8C%96%E6%8E%98?labelWords=&fromSearch=true&suginput=','X-Anit-Forge-Token':'None','X-Requested-With':'XMLHttpRequest'}#打开网页req=urllib.request.Request(url,headers=page_headers)content=urllib.request.urlopen(req,data=page_data.encode('utf-8')).read().decode('utf-8')return contentexcept Exception as e:print(str(e))#获取招聘职位信息
def get_position(url,page_num):try:page_content=open_url(url,page_num,keywords)data=json.loads(page_content)content=data.get('content')result=[('positionId','职位ID'),('positionName','职位名称'),('salary','薪资'),('createTime','发布时间'),('workYear','工作经验'),('education','学历'),('positionLables','职位标签'),('jobNature','职位类型'),('firstType','职位大类'),('secondType','职位细类'),('positionAdvantage','职位优势'),('city','城市'),('district','行政区'),('businessZones','商圈'),('publisherId','发布人ID'),('companyId','公司ID'),('companyFullName','公司名'),('companyShortName','公司简称'),('companyLabelList','公司标签'),('companySize','公司规模'),('financeStage','融资阶段'),('industryField','企业领域'),('industryLables','企业标签')]positionResult=content.get('positionResult').get('result')if(len(positionResult)>0):for position in positionResult:with open("position.txt",'a') as fh:fh.write("---------------------------\n")for r in result:with open("position.txt",'a') as fh:fh.write(str(r[1])+":"+str(position.get(r[0]))+"\n")return len(positionResult)except Exception as e:print(str(e))#爬取拉勾网招聘职位信息
if __name__=="__main__":#爬取起始页url='https://www.lagou.com/jobs/positionAjax.json?city=%E5%8C%97%E4%BA%AC&needAddtionalResult=false'#设置查询的关键词keywords="数据挖掘"page_num=1while True:print("正在爬取第"+str(page_num)+"页......")result_len=get_position(url,page_num)if(result_len>0):page_num+=1else:breakprint("爬取完成")

爬取结果:

用Python爬取拉钩网招聘职位信息相关推荐

  1. python爬取智联招聘职位信息(单进程)

    我们先通过百度搜索智联招聘,进入智联招聘官网,一看,傻眼了,需要登录才能查看招聘信息 没办法,用账号登录进去,登录后的网页如下: 输入职位名称点击搜索,显示如下网页: 把这个URL:https://s ...

  2. Python爬取智联招聘职位信息

    这是一次失败的尝试 , 事情是这样的-- 1.起因 前段时间刚刚学完爬虫,于是准备找个项目练练手.因为想要了解一下"数据挖掘"的职位招聘现状,所以我打算对'智联招聘'下手了.网上当 ...

  3. python 爬取拉钩网数据

    python 爬取拉钩网数据 完整代码下载:https://github.com/tanjunchen/SpiderProject/blob/master/lagou/LaGouSpider.py # ...

  4. python爬取2019年计算机就业_2019年最新Python爬取腾讯招聘网信息代码解析

    原标题:2019年最新Python爬取腾讯招聘网信息代码解析 前言 初学Python的小伙们在入门的时候感觉这门语言有很大的难度,但是他的用处是非常广泛的,在这里将通过实例代码讲解如何通过Python ...

  5. Python爬虫爬取智联招聘职位信息

    目的:输入要爬取的职位名称,五个意向城市,爬取智联招聘上的该信息,并打印进表格中 #coding:utf-8 import urllib2 import re import xlwtclass ZLZ ...

  6. 【Python爬虫案例学习20】Python爬虫爬取智联招聘职位信息

    目的:输入要爬取的职位名称,五个意向城市,爬取智联招聘上的该信息,并打印进表格中 ####基本环境配置: Python版本:2.7 开发工具:pycharm 系统:win10 ####相关模块: im ...

  7. python爬取拉勾网给定关键词职位信息存入数据库_Python 爬取拉勾网python职位信息...

    今天的任务是爬取拉勾网的职位信息. 首先,我们进入拉勾网,然后在职位搜索栏搜索Python 的同时,打开控制面板F12,来查看网页构成. 在XHR里,可以清楚的看见Ajax请求,所以需要使用sessi ...

  8. python 爬取拉钩招聘数据

    上一篇介绍在linux 搭建jupter lab,本文将介绍python数据接口的爬取以及提取建模分析的数据 导入依赖的包 import requests import time from urlli ...

  9. 智联招聘python岗位_Python爬虫爬取智联招聘职位信息

    import urllib2 import re import xlwt '''遇到不懂的问题?Python学习交流群:821460695满足你的需求,资料都已经上传群文件,可以自行下载!''' cl ...

  10. python爬取前程无忧热门城市职位信息

    问题描述 从前程无忧网站:https://www.51job.com/上查询热点城市(北京.上海.广州.深圳.武汉.西安.杭州.南京.成都.苏州)程序员的招聘信息.要求在Excel文件中保存招聘信息( ...

最新文章

  1. 从user 登陆開始
  2. 华师大计算机入门模拟卷,计算机入门模拟卷A-华东师范大学.docx
  3. 主导精准脱贫-农业大健康·万祥军:恩施谋定硒功能性产业链
  4. Stop being a perfectionist
  5. 遇到了消息堆积,但是问题不大
  6. 如果你人生的第一目标是赚钱
  7. Java基础 - 集合
  8. OpenCV版本与EmguCV版本匹配问题
  9. C# 创建、读取Excel公式
  10. linux 运行可执行文件
  11. 5个高质量资源网站,耗时一周整理,让你告别资源付费
  12. errorC1083 无法打开源文件 c1xx
  13. 30天搞定Java--day6
  14. ssh协议(git和github gitee 之间的传输协议)
  15. UVALive 4487 - Exclusive-OR -并查集 虚根
  16. 医院室内定位导航,便捷、低成本智慧医院室内地图应用解决方案
  17. 《羊年展望》中国改革蹄疾经济求稳 新思维应对新常态
  18. 阿里云注销备案流程及注销备案常见问题与解答
  19. 华工计算机科学与技术专业评级,华南理工高考专业分数排名,计算机分数遥遥领先,双一流专业垫底...
  20. 如何建设前端物料平台?

热门文章

  1. ”微服务一条龙“最佳指南-工具篇:初步使用Pipenv
  2. python 输出结果图文混排_Django图文混排
  3. pandoc html 模板,Pandoc使用技巧
  4. 用python告诉你,韦小宝跟他七个老婆哪个最亲?
  5. Android安全测试
  6. 微信小程序 地图组件标记文字
  7. 基于JavaScript的餐厅点餐系统微信小程序的设计与实现
  8. 详解Google Chrome浏览器(操作篇)(上)
  9. Matlab+cpp矩量法代码演示
  10. 前端网页/html播放mp4、avi、flv等视频,兼容ie7/7+ 调用flash/windows media player播放视频